perm filename REPORT.TXT[DOC,CSR]2 blob
sn#232644 filedate 1976-08-23 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00069 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00006 00002
C00008 00003 TABLE OF CONTENTS PAGE 2
C00011 00004 PAGE 3
C00013 00005 OVERVIEW PAGE 4
C00018 00006 OVERVIEW PAGE 5
C00024 00007 OVERVIEW PAGE 6
C00032 00008 USER'S MANUAL PAGE 7
C00036 00009 USER'S MANUAL PAGE 8
C00041 00010 USER'S MANUAL PAGE 9
C00046 00011 USER'S MANUAL PAGE 10
C00050 00012 USER'S MANUAL PAGE 11
C00055 00013 USER'S MANUAL PAGE 12
C00059 00014 USER'S MANUAL PAGE 13
C00062 00015 USER'S MANUAL PAGE 14
C00067 00016 USER'S MANUAL PAGE 15
C00071 00017 USER'S MANUAL PAGE 16
C00073 00018 USER'S MANUAL PAGE 17
C00076 00019 USER'S MANUAL PAGE 18
C00081 00020 USER'S MANUAL PAGE 19
C00086 00021 USER'S MANUAL PAGE 20
C00088 00022 USER'S MANUAL PAGE 21
C00091 00023 USER'S MANUAL PAGE 22
C00095 00024 USER'S MANUAL PAGE 23
C00099 00025 USER'S MANUAL PAGE 24
C00102 00026 DATA FILES PAGE 25
C00107 00027 DATA FILES PAGE 26
C00110 00028 DATA FILES PAGE 27
C00115 00029 DATA FILES PAGE 28
C00119 00030 DATA FILES PAGE 29
C00122 00031 MAINTENANCE MANUAL PAGE 30
C00127 00032 MAINTENANCE MANUAL PAGE 31
C00131 00033 MAINTENANCE MANUAL PAGE 32
C00136 00034 MAINTENANCE MANUAL PAGE 33
C00141 00035 MAINTENANCE MANUAL PAGE 34
C00146 00036 MAINTENANCE MANUAL PAGE 35
C00151 00037 MAINTENANCE MANUAL PAGE 36
C00155 00038 MAINTENANCE MANUAL PAGE 37
C00160 00039 SENDER PAGE 38
C00164 00040 SENDER PAGE 39
C00167 00041 SENDER PAGE 40
C00171 00042 APPENDIX A PAGE 41
C00175 00043 APPENDIX A PAGE 42
C00179 00044 APPENDIX A PAGE 43
C00182 00045 APPENDIX A PAGE 44
C00185 00046 APPENDIX A PAGE 45
C00188 00047 APPENDIX A PAGE 46
C00191 00048 APPENDIX A PAGE 47
C00193 00049 APPENDIX A PAGE 48
C00197 00050 APPENDIX A PAGE 49
C00201 00051 APPENDIX A PAGE 50
C00203 00052 APPENDIX A PAGE 51
C00206 00053 APPENDIX A PAGE 52
C00209 00054 APPENDIX A PAGE 53
C00213 00055 APPENDIX A PAGE 54
C00216 00056 APPENDIX A PAGE 55
C00218 00057 APPENDIX B PAGE 56
C00222 00058 APPENDIX B PAGE 57
C00227 00059 APPEXDIX B PAGE 58
C00229 00060 APPEXDIX B PAGE 59
C00238 00061 APPENDIX B PAGE 60
C00241 00062 APPENDIX B PAGE 61
C00244 00063 APPENDIX B PAGE 62
C00248 00064 APPENDIX B PAGE 63
C00251 00065 APPENDIX C PAGE 64
C00258 00066 APPENDIX C PAGE 65
C00260 00067 APPENDIX C PAGE 66
C00262 00068 APPENDIX C PAGE 67
C00263 00069 APPENDIX C PAGE 68
C00265 ENDMK
C⊗;
THE COMPUTER SCIENCE REPORT SYSTEM
William T. Coleman III
Artificial Intelligence Labratory
Computer Science Depardtment
Stanford University
1 AUGUST 1976
Abstract
This report describes the Stanford University Computer
Science Department report distributing system. The system
is a collection of programs intended to perform all of the
administrative functions concerned with technical report
distribution. The design, use, and maintenance are
thoroughly discussed.
This work was accomplished in partial fulfillment of the degree requirements
for a Master of Science in Computer Science, Computer Engineering.
TABLE OF CONTENTS PAGE 2
TABLE OF CONTENTS
PART SECTION TOPIC PAGE
I. OVERVIEW
I.1 INTRODUCTION.............................4
I.2 FUNCTIONS................................4
I.3 DESIGN...................................5
I.4 ACKNOWLEDGEMENTS.........................6
II. USER'S MANUAL
II.1 STANDARDS AND CONVENTIONS................7
II.2 ENTERING THE SYSTEM......................8
II.3 DATA FILE MAINTENANCE....................8
II.4 SEARCHING THE ADDRESS FILE...............9
II.5 CHANGING THE ADDRESS FILE................10
II.5.1 THE ADD/MOD LOOP........................10
II.5.1.1 OPERATING THE ADD FUNCTION.............11
II.5.1.2 OPERATING THE MOD FUNCTION.............12
II.5.2 OPERATING THE DEL FUNCTION..............13
II.6 MAILING THE ABSTRACT LIST................14
II.6.1 ADDING AN ABSTRACT LIST REPORT ENTRY....15
II.6.2 MAILING THE ABSTRACT LIST...............17
II.7 PROCESSING REPORT ORDERS.................18
II.8 MAILING THE REPORTS......................19
II.9 PROCESSING PAYMENTS RECEIVED.............21
II.10 RELATED SYSTEM FUNCTIONS.................22
II.10.1 LISTING A FILE..........................22
II.10.2 DISPLAYING/EDITING A FILE...............23
II.10.3 RESERVING SERVICE LEVEL.................24
III. DATA FILES
III.1 THE ADDRESS FILE.........................25
III.2 THE HASH CODE CROSS-REFERRENCE FILE......26
III.3 THE DATA FILE............................27
III.4 THE REPORT FILE..........................27
III.5 THE ORDER FILE...........................28
III,6 HISTORICAL REPORT FILE...................29
III,7 THE TEMPORARY FILES......................29
PAGE 3
PART SECTION TOPIC PAGE
IV. MAINTENANCE MANUAL
IV.1 INTRODUCTION.............................30
IV.2 SOME HACKS...............................30
IV.3 REPORT STRUCTURE.........................31
IV.3.1 CSREPT...................................32
IV.3.2 LISTUP...................................34
IV.3.3 MAKEML...................................35
IV.3.4 CMONEY...................................36
IV.3.5 CSMAIL...................................37
V. SENDER
V.1 SENDER...................................38
V.2 USE OF SENDER............................38
V.3 MAINTENANCE OF SENDER....................39
V.4 RUN EXAMPLE..............................40
VI. APPENDIX
A EXAMPLE RUN..............................41
B EXAMPLE OUTPUT...........................56
C EXAMPLE FILES............................64
D SAIL CODE LISTINGS.......................69 - 172
OVERVIEW PAGE 4
I. OVERVIEW
I.1 INTRODUCTION
This document describes the operation and maintenance of
the Computer Science Report Distribution System, herein referred to
as the REPORT system. The REPORT system is a collection of
programs intended to perform most of the administrative functions
concerned with the distribition of Computer Science Reports by the
the CS Library and Publications Committee.
I.2 FUNCTIONS
The following list is a summary of the functions performed by the
REPORT system. The program that is primarily responsible for each function
is listed in parenthesis.
1. System control. The system is controlled by a single entry
point through which any of the processes can be reached. This
is done for simplicity of operation, and to insure file
integrity. (CSREPT)
2. Maintain the address file. This function includes performance
of all changes to address information, and the associated
accounting information maintained on each individual.(LISTUP)
3. Mail the abstract list. This includes the maintainence of
a report information file, printing of mailing labels,
production of a master order form, and summarizing the
processed data.(MAKEML)
4. Process orders, and receive payment. This includes the
proper accounting for transactions. (CMONEY)
5. Mail the reports. This function produces the invoice,
produces the mailing labels, charges the accounts for
documents mailed, informs customers if their order is out of
stock, checks for inactive accounts, and reports on its
processing. (CSMAIL)
There are two additional auxiliary functions performed by CSREPT
for the convience of the operator:
1. Address file search capability. This function allows
the operator to search the address file using either
the hash code, zip code, or name as the search key. This
function is also called automatically if at any time during
the processing an unknown hash is encountered. (called SEARCH)
2. System data file management. This function allows the operator
to change the REPORT system operating data without recompiling
the programs.(called DATA)
There is one stand-alone program designed to process late orders from
any source, even if not in the address file. The program is called SENDER, and
is discussed in Section V.
The system is located under the programmer name: CSR in the following
areas of disk:
USE,CSR User dump file, data files, bibliography.
MNT,CSR The sail code files.
DOC,CSR The system documentation.
OVERVIEW PAGE 5
I.3 DESIGN
The REPORT system is designed as a system of five programs
that are reached through a common entry point. The programs themselves
are basically used to build, update, and access a series of data files.
These data files are the key to the processing, and therefore it is
important that they be maintained properly. The following chart is
intended to provide an idea of the data flow:
"AL USE,CSR"
."RUN REPORT"
|
|
__________ ____↓_____ ____________
| SEARCH | | CSREPT | | DATA |
|data file |← - - - - →|entry/exit|← - - - - - →|data file |
|search | | | |maintenance |
| -------- | | | | ---------- |
|*"SEARCH" | | | |*"DATA" |
|__________| |__________| |____________|
↑ ↑ ↑
| | |
| ↓
ADDFIL.DSK | LBDATA
↓
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| | | |
| | | |
_______↓_______ _______↓_______ _______↓_______ _______↓_______
| LISTUP | | MAKEML | | CMONEY | | CSMAIL |
|maintain the | |report list(1) | |process orders | |mailing labels |
|address file | |order form(2) | |and payments | |invoices(2) |
|and hash cross | |labels(3) | | | |summary(3) |
|reference file | |summary(4) | | | |report hist(4) |
| ------------- | | ------------- | | ------------- | | ------------ |
| | | | |*"CSORD" or | | |
|*"LIST" | |*"MAKEml" | |*"CSRECD" | |*"CSMAIL" |
|_______________| |_______________| |_______________| |_______________|
↑ ↑ | ↑ ↑ |
| | | | | |
↓ ↓ ↓ ↓ ↓ ↓
ADDFIL.DSK REPT.DSK(1) INFORM(2,4) ADDFIL.DSK ADDFIL.DSK LABELS(1)
HASHES ORDER.DSK JULLAB(3) ORDER.DSK ORDER.DSK INVOICES(2,3)
REPTFL.DSK(4)
The REPORT system is designed such that the operator does not have to
be familiar with the use of the monitor or text editing functions in order to
execute any of the above programs. The line editor, however is available at all
times, and is specifically used in LISTUP. The system is entered by typing:
"RUN REPORT" while at the monitor level. Once in the system, any of the
programs can be entered by responding to the prompt "*" as indicated above.
The programs are all designed to run interactively with the operator, and
help is available at all entry points by typing responding "HELP". If at any
time the operator types "?" or makes an unexpected entry, the system will
respond by displaying the legal operator inputs at that point.
OVERVIEW PAGE 6
There are two categories of data files, those that are permanent(P)
and should always be part of the processing, and the temporary(T) files created
by REPORT to hold the system output until it can be listed. A brief
description of each type is given here, and the details are provided in Section III.
TABLE TYPE DESCRIPTION MODIFICATION
___________________________________________________________________________________
ADDFIL.DSK | P |This file contains all of the |LISTUP - allows the operator to
| |address and accounting data | add, delete, or modify
| |on all customers. | any entry.
| | |CMONEY - updates back order, and
| | | payment data.
| | |CSMAIL - updates debits.
| | |(ETV DOES THE MODIFICATIONS)
____________|____|______________________________|__________________________________
HASHES | P |This is a cross-reference |CSREPT - builds the file, but only
| |file that allows random access| if it is not saved.
| |to address file entries by |LISTUP - modifies the file, when
| |hash or zip code. | necessary
____________|____|______________________________|__________________________________
LBDATA | P |This file contains the system |CSREPT - performs any modifications
| |variable operating data, and | as directed in the DATA.
| |the invoice format. |CSMAIL&SENDER - updates taxes owed.
____________|____|______________________________|__________________________________
REPT.DSK | P |This file contains the data |MAKEML - builds the monthly report
| |concerning each report that is| files by entering data
| |needed for system processing. | interactively.
____________|____|______________________________|__________________________________
REPTFL.DSK | P |This file contains all of the |CSMAIL - builds the file
| |past reports, for back orders.|SENDER - uses the file, updates stock
____________|____|______________________________|__________________________________
ORDER.DSK | P |This file contains the orders |MAKEML - initializes the file each
| |for each month. | month when the REPT.DSK
| | | file is built.
| | |CMONEY - adds orders to the file.
| | |CSMAIL - deletes orders from the
| | | file when they are filled.
____________|____|______________________________|__________________________________
INFORM | T |This file contains the master |MAKEML - builds the file, it should
| |order forms, and the abstract | be deleted by the operator
| |mailing summary. | after it is listed.
____________|____|______________________________|__________________________________
"mon"LAB | T |This file contains the month's|MAKEML - builds the file to be deleted
| |abstract mailing labels. | when listed.
____________|____|______________________________|__________________________________
INVOICES | T |This file contains all of the |CSMAIL - builds the file to be listed
| |invoices for the month's | and deleted by the operator
| |orders, and the summary | as soon as it is listed.
____________|____|______________________________|__________________________________
LABELS | T |This file contains the mailing|CSMAIL - builds the file to be deleted
| |labels for all those who | when listed.
| |ordered reports, and also for |SENDER - also builds the file.
| |inactive accounts. |
____________|____|______________________________|__________________________________
I.4 ACKNOWLEDGEMENTS
I would like to thank Les Earnest and Brian McCune for their much needed help
with the programming and design details of the system. I also want to express my
appreciation to Pat Jacobs for her assistance during the refinement of the system,
and the many suggested operator interface changes that I have implemented. Finally,
to Don Knuth-my advisor-for his guidance, and the opportunity to undertake this project.
USER'S MANUAL PAGE 7
II. USER'S MANUAL
This section is the self-contained user's guide to the Computer
Science Report System. It tells you how to get started, how to run
each of the functions, and provides example operator responces. A run
time example is provided in the appendix.
II.1 STANDARDS AND CONVENTIONS
The system conventions used to communicate with the operator are:
CCCCCssss - When the program displays the operators
input options those characters in capital
letters are mandatory as inputs, those in
small letters are optional.
<cr> - Indicates the operator is to type a carriage
return.
* - This is the prompt character used to indicate
that the system is ready to accept a typed
in request from the operator.
There are several types of inputs for which the system will respond
in a standard manner no matter which function is being executed.
?<cr> - Will always display the operators legal
responses to the particular system query.
HELP<cr> - Will provide run time help, and usually
legal responses at any function entry.
It will provide just legal responses at
any other point.
<cr> - At any entry/exit point during the processing
<cr> will cause termination of the current
function, and return to the function
from which processing started.(ie in LISTUP
will return to CSREPT, or when adding to the
address file it will return to LISTUP etc).
default - If at any time the operator types in something
other then what the program expects, the input
will be ignored, and the legal responses will
be displayed.
These standard system functions are intended for the convenience of
the operator, and to allow the system to be used by someone who is not familiar
with the text editing system, or the operating system. There are a few listing,
file maintenance, and file editing functions that may be helpful, these will be
explained later in this section. The operator would find it helpful to become
familiar with the line editor, and it is necessary in order to perform
modifications to the address file using LISTUP.
NOTE It is immaterial whether operator inputs are entered in upper
or lower case. The REPORT system will convert all alpha inputs to upper
case for processing.
USER'S MANUAL PAGE 8
II.2 ENTERING THE SYSTEM
The system is entered from the monitor level (type CALL on a display,
or <control>C on a teminal). The operator must first gain access to the files
by typing: AL USE,CSR<cr>. The system is started by typing: RUN REPORT<cr>.
CSREPT will start processing, and read in the data tables (this will take about
1.5 seconds of computer time). The system will then signal that it is ready:
CSREPT - what can I do for you? *
The accepatable responses to this are:
LISTup<cr> - to change the address file (enters LISTUP).
MAKEml<cr> - to send abstract listing (enters MAKEML).
CSORD<cr> - to process incoming orders (enters CMONEY).
CSMAIL<cr> - to send out the reports (enters CSMAIL).
CSRECD<cr> - to process payments (enters CMONEY).
DATA<cr> - to check or modify run data (enters CSREPT/DATA).
SEARCH<cr> - to search the address file (enters CSREPT/SEARCH).
HELP<cr> - to describe the REPORT system.
?<cr> - to display the operator input options.
<cr> - to terminate porcessing, and exit the system.
From the user's point of view the CSREPT function can be thought of as
a switch through which any of the system functions can be reached. Once the
processing of any of the functions is complete the program will return to
CSREPT, and any other function can be called. This will continue until you
are ready to exit.
II.3 DATA FILE MAINTENANCE
The data file maintenance is entered by responding to the CSREPT
system query as follows:
CSREPT - what can I do for you? *DATA<cr>
The data function will then display the current values of the eight
data items that can be modified. These are:
DATA - THE CURRENT VALUES ARE:
1. BASE - The base printing price of a document.
2. PRICE - The document price per page.
3. TAX - The current California state tax.
4. COPIES - The number of masters to be printed.
5. LINELB - The number of lines per label.
6. LINEST - The number of lead lines before print starts.
7. PAT - The name to be used as a return addressee.
8. OWE - The computed amount of California state tax owed.
The data function will then prompt for input request:
NUMBER OF THE ITEM TO BE CHANGED, OR <cr> TO EXIT *
If a <cr> is given the program will pass control back to CSREPT,
if anything but an accceptable data item number is given an error is
detected, otherwise the processing will request the new value:
NEW VALUE *
The acceptable response to this is the new value followed by a <cr>.
This will cause the change to be made and the data items to be redisplayed.
Processing will continue in a loop until you exit the data function.
USER'S MANUAL PAGE 9
II.4 SEARCHING THE ADDRESS FILE
The search capability allows the operator to search for
an entry in the address file by one of three keys:
HASH CODE - The user's unique hash code which will be
printed on all correspondence. This is the
fastest and most efficient search.
ZIP CODE - This is a very efficient search which will
dislay all of the entries having the specified
zip (23 at a time so as not to overflow the
screen), and allow the operator to select the
one desired.
NAME - This search will look for an match, search all
of the names in the address file (not the address).
This is a slow, and inefficient search to be
used only as a last resort. (ie if PROF is input
all professors, and names including "prof" ).
The search function is entered by responding to the CSREPT
system query as follows:
CSREPT - what can I do for you? *SEARCH<cr>
In order to execute a search the program asks you in order
if you know the hash, or zip code. If either of these questions are
answered affirmatively the search will be accomplished after asking
the code. If you know neither code the program will ask for a name.
The system prompts are:
SEARCH: DO YOU KNOW THE HASH CODE? (Y, N OR <cr> to exit) *
SEARCH: DO YOU KNOW THE ZIP CODE? (Y, N OR <cf> to exit) *
Once the type of search has been determined the program will
ask for the necessary data as follows:
HASH CODE? *
ZIPCODE? *
LAST NAME (OR EXIT) *
If the hash code search is being executed the entry will be
displayed, if found, and you will be asked if you wish to perform
another search. This will continue until you are ready to exit.
Both the zip and name searches will display the hash codes,
names, and address file page number for all of the matches found.
You will be given the opportunity to input the hash, if found, and
the system will then display the entry. Both of these are one time
searches and they will exit back to CSREPT after each search. This
is done because these two modes are intended as the automatic search
default. For details concerning the address file organization see
the ADDFIL.DSK description in section three of this report.
NOTE: The zip code search uses the zip information in the user
hash to find entries, for this reason it can be used to find all
addressees in any country besides the US by simply entering the name of
the country instead of a zip. (ie if you respond ZIPCODE? *FRANCE<cr>,
all of the Franch customers will be listed). This also works for all
interdepartmental addressees by responding IDMAI<cr>, Office of Naval
Research by responding ONRXX<cr>, Defense Advanced Projects Research
Agency by responding DARPA<cr>, and automatic by responding AUTOM<cr>.
USER'S MANUAL PAGE 10
II.5 CHANGING THE ADDRESS FILE
The address file maintence program is intended to maintain
the address file and hash code cross-reference file in proper order,
while allowing the operator to make any changes desired. The program
will automatically compute, or recompute, the hash code if necessary.
All changes to the address file are accomplished using the ETv text
editor under program control.
In order to do this the LISTUP function is divided into three
subfunctions:
1. ADD - to add new entries to the file.
2. MODIFY - to change any of the address file entries.
3. DELETE - to delete entries from the file.
These functions are designed such that ADD and MODIFY run together
for efficiency. Because of this you will find that it is much faster
to do all additions and modifications together with the deletes being
done either before, or after all adds/mods.
The LISTUP function is entered by responding to the CSREPT
system query as follows:
CSREPT - what can I do for you? *LIST<cr>
The system will then prompt you for the desired function:
LISTUP - FUNCTION OF <CR> TO EXIT *
The acceptable responses are:
ADD<cr>
MODify<cr>
DELete<cr>
ADD HELP<cr>
MODify HELP<cr>
DELete HELP<cr>
HELP<cr>
<cr>
All of these responses except <cr> will cause the specified
action to take place, and then control will return to LISTUP. The help
requests return immediately, the processing requests perform deletes or
adds/mods in a loop until requested to return.
II.5.1 THE ADD/MOD LOOP
The add and mod functions are linked together in that when adding
someone to the file the ADD function will request all of the necessary
information and build the entry, it will then call the MOD function to
allow the user to check the entry before it is added to the update list.
This is done to allow the user to correct any mistakes. Once the ADD
or MOD functions are requested the processing will continue asking for
more changes as follows:
ADD/MOD enter option *
Legal responses:
ADD<cr> process another addition to the file.
MODify<cr> process another modification to an entry.
ADD HELP add help
MODify HELP<cr> mod help
<cr> to actually insert the entries, and return
processing to LISTUP.
Thus all of the changes can be input at one time, and when this
is complete only then will the file actually be changed.
USER'S MANUAL PAGE 11
II.5.1.1 OPERATING THE ADD FUNCTION
All that this function does is to ask the operator for
the address information it needs to construct the user's address
entry,hash code, and accounting data. In order to do this you
will be asked for the following information:
TYPE THE FIRST LINE(THE NAME) OF THE ENTRY OR <cr> TO EXIT *
The acceptable responses are:
<cr> this will exit the add loop, and take you to
the ADD/MOD loop controller.
name this is the name of the entry as you wish to
see it on the first line of the mailing address.
There are no restrictions on its format.
BILLING CATEGORY *
The acceptable responses are:
<cr> for a normal entry to be charged for all reports.
N<cr> if the entry is to be on the ONR mailing list.
M<cr> if the entry is to be on the ARPA mailing list.
A<cr> if the entry is to automatically receive reports.
F<cr> if the entry is to receive all reports free of charge.
This information will be used to determine if an individual is to
be charged for reports ordered.
ZIP CODE OR COUNTRY *
The acceptable responses are:
#####<cr> the 5 digit zip code for US customers.
Do not reenter the zip with the address.
FFFFF<cr> the name of the country for foreign
customers. Do reenter the country with
the address.
USSR<cr> for Russian customers use USSR.
IDMAI<cr> Interdepartmental entries (Stanford Univ).
This is input separately so that it can be used as part of
the hash code. In this manner the addresses can be found, and
sorted more efficiently. If the billing category was N,M, or A
the question will not be asked as these codes will be used instead
of a zip to allow searching the address file, and listing labels
by these parameters.
LINE 2 *
LINE 3 * (if the address has a zip code it should not be
LINE 4 * reentered except in the case of ARPA, ONR, AUTO)
LINE 5 *
The acceptable responses are:
<address line> the address lines as you expect them to
appear on all correspondence.
<cr> if the line is to be left blank, or there
are no more lines to the address.
Each entry is allowed to have up to 5 lines in its mailing
address including the "name" line. These lines may have up
to 35 characters each.
The program will then exit to the mod function, display the entry
as it was entered, and allow you to make any change, except for the hash
code which the program has computed. Once the entry has been approved as
correct, the processing will return to ADD, and ask for another name line.
This will continue until you responding to the names request with a <cr>.
USER'S MANUAL PAGE 12
II.5.1.2 OPERATING THE MOD FUNCTION
This function can operate in two modes. First if it is
called from the ADD function it will merely display your entry ,
and allow you to make any changes you desire except the hash code.
This mode will exit to ADD when you have approved the entry. The
second mode will allow you to modify any currently existing entry.
This will operate in a loop until instructed to exit to the ADD/MOD
processing level.
The processing proceds as follows:
HASH CODE OR <cr> TO EXIT *
The acceptable responses are:
LLLLL<cr> the hash code of the entry to modify.
If you make an error, and the hash code
cannot be found you will begin a search.
<cr> to exit the mod processing and return to
the ADD/MOD level.
The program will then display the entry and ask what action you
request as follows:
THE ENTRY YOU WISH TO CHANGE IS:
LINE 1. <address file coded accounting data>
LINE 2. <the entry name line>
LINE 3. <address line>
LINE 4. <address line>
LINE 5. <address line>
LINE 6. <address line>
UPdate,ABort,OR LINE NUMBER TO CHANGE *
The acceptable responses are:
UPdata<cr> if the entry is correct.
ABort<cr> if you do not wish to make any changes
to the file with the displayed entry.
In ADD mode the entry will be discarded.
######<cr> To modify the address input any or all
of the line numbers you wish to change.
If there are lines to change the program will ask for them one
at a time as follows:
CHANGES*<the requested line will be output in the line editor>
The acceptable response is:
<edit> use the line editor to make any changes
to the line.
Once all of the lines have been input the processing will again
display the entry and ask for changes.
The program will recalculate the hash if there is a change to the
zip code, or the country. At this time the order file wil also be checked,
and the hash code changed if there are any open orders under the old hash.
If it is necessary to add another page to the address file, you will be
informed that a new page is being added, and the program will make the change.
Once the modification has been terminated (by UP, or AB) the processing
will return either to ADD or ask for another HASH.
USER'S MANUAL PAGE 13
II.5.2 OPERATING THE DEL FUNCTION
The delete function will operate in a loop allowing the operator
to input the hash code, and approve the entry for all of those to
be deleted. Once all of those to be deleted have been input, the
operator instructs the program to exit, and only then will the
actual deletions be made. The program porceeds as follows:
HASH CODE TO DELETE OR <cr> TO EXIT *
The acceptable responses are:
LLLLL<cr> the hash code of the entry to modify.
If you make an error, and the hash code
cannot be found you will begin a search.
<cr> to exit the mod processing and perform
the actual file deletions then return
control to LISTUP.
The program will then display the name of the entry found and
ask if it is correct as follows:
CAN I DELETE <name> (Yes OR No) *
The acceptable responses are:
Yes<cr> will cause the entry to be placed on the
delete list.
No<cr> will ask for another hash code.
Once you exit the processing there will be a slight delay as
the program calls ETv to do the file deletions.
NOTE TO PROCESSING OF LISTUP CHANGES:
Changes that are made to the address file itself are made immediately
upon exit of either the ADD/MOD or DEL functions. At the same time the HASHES
cross-reference file is also updated.
USER'S MANUAL PAGE 14
II.6 MAILING THE ABSTRACT LIST
The processing related to mailing the abstract list is
accomplished by MAKEML. This program is designed to perform the
following functions:
1. Produce the mailing labels. A formatted label is output
to a temporary file for each entry in the address file.
This file will be called <mon>LAB, where "mon" is the
first three letters of the month for the abstract list.
The labels can be formatted as either AVERY or CHESHIRE
labels, and listed when the printer is set up properly.
2. Produce the master copy of the order form. The number
of copies is as indicated in the data item DATA. This
form is intended as a mailing cover, and also as a return
order form. It will be output to the temporary file INFORM.
3. Build and update the report data file REPT.DSK. This is the
data necessary to process orders.
4. Open the file to receive incoming orders ORDER.DSK.
5. Provide summaries of the monthly abstract mailing. This
will be output with the order forms in file INFORM.
The only processing that is not done by this program related to
the mailing of the abstract list is the printing of the abstracts.
NOTE: The procedure for listing files is described under system functions.
The program allows the user to specify the month for which he
wishes to process. It then opens a report file for that month and allows
the operator to input the data concerning the reports for that month. This
processing will continue in a loop until all of the reports have been
added for the session, and the operator signals the program to update
the file. After the program adds the entries to the file the operator
will be asked if he wishes to mail the list, if so the rest of the
processing will be completed. If the operator does not wish to mail the
list at this time, then the program will exit, and upon the next
entry the operator can add more entries to the list. Once the abstract
list has been mailed no more entries should be added.
The MAKEML function is entered by responding to the CSREPT query
as follows:
CSREPT - what can I do for you? *MAKEml<cr>
If there is no currently open monthly abstract report file the
program will respond:
MAKEML - Enter month *
The acceptable responses are:
MONth<cr> at least the first three letters of the
month for the abstract list.
HELP<cr> for a narritive.
<cr> to exit and return control to CSREPT.
If there is a currently open file:
MAKEML - The MON list is open and will be used. Enter Option *
The acceptable responses are:
BUILD<cr> to add reports to the month's abstract
mailing list.
MAIL<cr> to send the mailing list.
HELP<cr> for a narrative.
<cr> to exit and return control to CSREPT.
The "MON" will be the first three letters of the month whose
file is to be used.
USER'S MANUAL PAGE 15
II.6.1 ADDING AN ABSTRACT LIST REPORT ENTRY
The reports to be included in the current month's mailing
list will be assembled and approved in a loop through interaction
with the user. Once the entries have all been approved, and the
loop terminated, the report data will be added to the file REPT.DSK
by ETv under program control. The processing proceeds as follows:
REPORT NUMBER *
The acceptable responses are:
STAN-CS-76-###<cr> this is whatever report number
AIM-###<cr> you wish to see on the order form,
it can be in any format desired.
<cr> to exit report file loop, and return
control th MAKEML.
NUMBER OF HARDCOPIES AVAILABLE *
The acceptable responses are:
####<cr> the number of hard copies available of the
report. This will be used to inform you
if too many are ordered. You will have a
chance to change it at the time that the
orders are filled.
NO<cr> this is to indicate that either the number
is unavailable, or there are unlimited
copies available.
PRICE(NN.NN ie 19.76) $
The acceptable responses are:
nN.NN<cr> the predetermined price of the report.
COMPute<cr> to indicate that the price should be
computed based upon the formula:
BASE+(number of pages)*PRICE.
If the compute option s chosen you will be asked:
NUMBER OF PAGES *
The acceptable responses are:
#####<cr> the number of pages in the report
<cr> to abort the compute option, and return
to the price option.
NUMBER OF MICROFICHE AVAILABLE *
The acceptable responses are:
####<cr> the number of microfiche available of the
report. This will be used to inform you
if too many are ordered. You will have a
chance to change it at the time that the
orders are filled.
NO<cr> this is to indicate that either the number
is unavailable, or there are unlimited
copies available.
ACCOUNT *
The acceptable response is:
<account number> the account number of the individual
or organization that is sponsoring this
report. This will be asked along with the
percent of sponsorship until all of the
sponsors have been input (ie percent=100).
USER'S MANUAL PAGE 16
PERCENT *
The acceptable response is:
##<cr> the decimal percent of sponsorship
for the lastest account number entered.
This can be from 1 to 100.
If the total percent has not reached 100, you will be informed
of the current total, and prompted for another account. The total
must equal 100, if you error and exceed 100% the program will
discard the current account, and you will have to reenter it.
Now that the entry has been input it will be displayed, and you
will have the opportunity to approve it:
THIS IS THE CODED ENTRY:
<the entry will be listed, see REPT.DSK for format>
IS IT OK (Yes,No,?) *
The acceptable responses are:
Yes<cr> this will accept the entry ane return
to ask for another report number.
No<cr> this will reject the entry, discard
it completely, and return to ask for
another report number.
?<cr> this will display the meaning of the
items of the coded entry so that you
can verify if it is allright.
This completes the interactive process involved with building
a report entry. It will continue in this manner until you instruct it
to exit by responding with a <cr> when asked for a report number.
USER'S MANUAL PAGE 17
II.6.2 MAILING THE ABSTRACT LIST
The abstract list can be initiated either upon entrance to
MAKEML if the report file already exists, or after entries have been
added to the file. The necessary response to enter directly from
MAKEML is: MAIL<cr> as described earlier. In order to mail the list
that has just been updated you will be queried:
WOULD YOU LIKE TO MAIL THE LIST NOW? (Yes OR No)*
The acceptable response is:
Y<cr> to print the labels, order forms
and summary.
N<cr> to exit MAKEML and return to CSREPT.
<cr> to exit MAKEML and return to CSREPT.
ARE CHESHIRE LABELS TO BE PRINTED (Yes OR No)*
The acceptable response is:
Y<cr> to print the labels in the chashire format.
N<cr> to exit print the labels in the AVERY format.
The program will then proceed for some time without any
operator interface. It will actually take about 3.5 minutes of
computer time to produce, sort, and output the labels. The labels
will be printed with ten on a page, leaving the eleventh one blank,
this is necessary to allow the printer to keep syncronized. You will
then be informed that they are printed, and the file name. Next
the order form is produced, and the summary computed. This will
happen very rapidly. In order to produce the order form, you will
be asked the order cutoff date as follows:
ENTER THE CUTOFF DATE FOR ORDER FORMS *
The acceptable response is:
<date> the date you wish all orders to be
received, in the format you want it printed.
When the processing is complete control will be automatically
passed back to CSREPT.
NOTE: The method of listing the labels is explained in section II.10.
USER'S MANUAL PAGE 18
II.7 PROCESSING REPORT ORDERS
Once the abstract list has been mailed, the ORDER.DSK file
is ready to receive orders. The processing is actually accomplished
by CMONEY which also processes the receipt of payments for reports.
In the ORDER mode the program will operate in a loop accepting orders
one at a time until you are ready to exit, at which time control will
be passed back to CSREPT. The order function is entered as follows:
CSREPT - what can I do for you? *CSORD<cr>
The program will respond by asking you which month to process:
ORDER - MONTH *
The acceptable responses are:
MONth<cr> at least the first three letters of the
month for the abstract list.
HELP<cr> for a narrative.
<cr> to exit and return control to CSREPT.
The program will then initialize the processing and enter the loop
in which the orders are processed. Within this loop you will be asked
to input the hash code of the person ordering reports, and once the
the hash has been checked, you will be asked for the reports numbers
that were ordered. Finally, you will be asked if any money was sent
with the order, and if so the funds will be added to the account.
HASH CODE *
The acceptable responses are:
HHHHH<cr> the five character hash code.
HELP<cr> for a narrative of options.
<cr> will process any orders, and return to CSREPT.
The hash code will be checked, and if it cannot be found you will
automatically enter the SEARCH function in the zip mode.
IS <name> THE CORRECT CUSTOMER? (Y or N)*
The acceptable responses are:
Yes<cr> the payment will be processed.
No<cr> you will be asked for another hash code.
REPORT NUMBERS #
The acceptable responses are:
#####<cr> the order numbers of the reports
that were ordered. This is the one
digit order number as it appears on the
order form, not the Stanford report number.
Each number may appear only once.
HELP<cr> for a narrative of options.
<cr> will cause this order to be flushed, and
return to the hash code quary.
Although the program allows each order to request only one copy
of a report, there is no limit to the number of orders. This
allows someone to order two copies of a report, but the operator
will have to enter two separate ordes for the same hash code.
WAS ANY MONEY SENT WITH THE ORDER? (Yes or No) *
The acceptable responses are:
Yes<cr> This will cause funds to be processed.
No<cr> Or anything but Yes will process another order.
AMOUNT RECEIVED $
The acceptable responses are:
##.##<cr> the amount of money received.
HELP<cr> for a narrative of options.
<cr> will cancel the current customer's processing.
The order will be kept, but no funds added.
USER'S MANUAL PAGE 19
II.8 MAILING THE REPORTS
The processing concerned with the mailing of the reports
each month is done by CSMAIL. This program will produce the
mailing labels, invoices, and processing summary. In order to
do this the program will proceed in the following manner:
1. The inventory for the current month will be displayed,
and you will have an opportunity to change the number of
copies of each report available.
2. Based upon the number of each report available the program
will fill the orders in the order that they were received
until each report runs out.
3. Mailing labels will be printed in zip code order first for
all those who have submitted orders, and second for any
inactive accounts. These will be output to a file called
LABELS for listing at a later time.
4. Invoices will be printed for all those who submitted orders
indicating the reports we are able to send, the amount owed,
and the reports that we were not able to send. These will be
output to a file called INVOICES for listing.
5. The processing summary will then be compiled, and added to
the INVOICE file.
6. The accounts will be charged for the reports that were sent
based upon their billing category, and the order history
will be updated for all members of the address file.
NOTE It is important that the temporary files be deleted after they are
listed as they are very large.
The CSMAIL function is entered as follows:
CSREPT - what can I do for you? *CSMAIL<cr>
The program will respond as follows:
CSMAIL - the <month> order file will be used - OK (Yes or No) *
The acceptable responses are:
Yes<cr> the displayed month will be used.
No<cr> you will be asked which month to use.
<cr> will return to CSREPT.
HELP<cr> will provide a narritive.
If you answered NO:
ENTER MONTH *
The acceptable responses are:
<month><cr> the month you wish to mail.
<cr> will return to CSREPT.
HELP<cr> will provide a narritive.
The stock level will now be displayed, giving the order number,
report number, and copies available, and you will be asked if
you wish to change any of the levels as follows:
The current stock is:
<each report and copies available will be displayed>
Are there any changes? (Yes, No,STOCK)*
The acceptable responses are:
No<cr> the displayed levels will be used, and the
processing will begin.
Yes<cr> you will be allowed to make the changes.
STOCK<cr> the stock levels will be displayed.
USER'S MANUAL PAGE 20
If you answered Yes, you will be allowed to update the inventory
one report at a time.
Report display number *
The acceptable response is:
#<cr> the display number of the report to change.
Number available *
The acceptable response is:
####<cr> the number of copies available to mail.
After you have changed the stock you will be asked again if there
are any changes. In this manner you can make several changes, and at
any time display the changed stock level before continuing the process.
Once the stock levels have been approved, the program will run to
completion with no further assistance from the operaton required unless
a hash code is encountered that is not in the file, at which time the SEARCH
option will be called. You will be informed that the labels are in file LABELS,
when they are finished processing, and that the invoices are in INVOICES when
they are finished.
The processing may take up to four minutes of computer time to
complete all of the tasks if there are orders for everyone in the file, but
500 orders should take about 2 minutes. Upon completion the program will exit,
and control will be passed back to CSREPT.
USER'S MANUAL PAGE 21
II.9 PROCESSING PAYMENTS RECEIVED
The processing of payments received for reports is actually
accomplished by CMONEY. The program runs in a loop asking the hash
code, and amount received. The money is credited to the proper
account, and if the account is in California the amount of tax is
determined, and added to the OWE item in the data file.
The PAYMENT function is entered as follows:
CSREPT - what can I do for you? *CSRECD<cr>
The program will respond as follows:
HASH CODE *
The acceptable responses are:
HHHHH<cr> the five character hash code.
HELP<cr> for a narrative of options.
<cr> will process all accounts received,
and return to CSREPT.
The hash code will be checked, and if it cannot be found you will
automatically enter the SEARCH function in the zip mode.
IS <name> THE CORRECT CUSTOMER? (Y or N)*
The acceptable responses are:
Yes<cr> the payment will be processed.
No<cr> you will be asked for another hash code.
AMOUNT RECEIVED $
The acceptable responses are:
##.##<cr> the amount of money received.
HELP<cr> for a narrative of options.
<cr> will cancel the current customer's processing.
This processsing will continue to ask for payments as described
above until instructed to exit by responding with a <cr> to the hash query.
At this time the file updates will be made, and control will be passed
back to CSREPT.
USER'S MANUAL PAGE 22
II.10 RELATED SYSTEM FUNCTIONS
Although it is not necessary to know how to use the operating
system, or the text editing system in order to opeate the REPORT
system, there are several functions that may be useful. For a more
complete explanation of these functions see:
1. Martin Frost, "Monitor Command Manual", Stanford Artifical
Intellirence Labratory, Operating Note 54.5, January 1976.
2. Art Samuel, The ETv manual, E.ALS[UP,DOC].
If at any time you would like to learn about one of the functions
of the monitor system, you can make use of the help function. In order to
do this simply type: HELP<cr> from the monitor level (the "." prompt
indicates that you are at the monitor level). This will display all
of the subjects for which help is available.
II.10.1 LISTING A FILE
It will be necessay to list many of the temporary output files
on either the line printer, or the Xerox Grahpics Printer (XGP). As
a general rule you will want to use the XGP for all listings except
labels which must be listed on the line printer.
1. Listing on the LINE PRINTER (FROST, pg 81). In order to
list a file on the line printer simply type:
SPool <file name><cr>
This should be typed from the monitor level.
2. Listing of labels is done on the line printer. You must
mount the paper, or labels on the printer so that the
printing will start on the first line all the way to
the right (use red guide marks in both cases). Before
mounting the paper assign the printer to your job:
ASSIGN LPT<cr>
Then list the labels as follows:
COPY LPT:←<file name>(2:200)/EXTRA=0<cr>
Finally deassign the printer when the paper is readjusted:
DEASSIGN LPT<cr>
2. Listing on the XGP (FROST, pg 84). In order to list
a file on the XGP simply type:
XSpool <file name><cr>
This should be typed from the monitor level.
Should the listing be aborted before it is finished, or you
wish to list only part of the file this can be done by
specifying the pages to list as follows:
XSpool <file name>(1,4,6:11)<cr>
SPool <file name>(1,4,6:11)<cr>
Which would list pages, 1,4, and 6 thru 11.
If this is a labels file, or any file that has only one page,
simply determine at which line the listing was stopped, and insert
a page mark using ETv and restart on the new page.
USER'S MANUAL PAGE 23
II.10.2 DISPLAYING/EDITING A FILE
samial
ETV is a display oriented text editor designed for the
Stanford display terminals. It is highly desirable that you
become familiar with its basic uses before attempting to use
it to display or edit any of the files of the REPORT system so
as to avoid accidently altering any of the permanent files in
an unintended manner.
In order to learn ETV there is a file that you can use
as a self-teaching aid. To gain access to this simply type
HELP ETEACH from the monitor level. This will copy the TEACH
file into your project area, and open the file for you to begin
learning the editing functions.
The basic functions you will need to know are to
display a file so that it can be checked, how to delete a file
that is no longer necessary, and how to modify a file:
1. In order to DISPLAY a file you will need to know
how to enter it, how to change pages, and how to
exit. To enter a file from the monitor level:
ETv <file name>/R
This will open the file in the read only mode to the
directory page if one exists. If you are asked to
reformat the file simply type "Y", and the directory
will be built. In order to move from page to page
simply type the page number while holding down the
"CONTROL" key. In order to move down the page just
push the "FORM" key. Finally, to exit the file,
type "E" while holding down the "CONTROL" key.
2. To delete a file all that is necessary is to type:
DELete <file name><cr>
This will cause the entire file to be deleted. Be
sure to delete the temporary files once they have been
listed, as they are typically very large.
3. The functions needed to edit the file are rather involved, and
it is suggusted that you either complete the TEACH file
before attempting to edit, or ask someone who knows the how
to use the text editor to do it for you.
IMPORTANT: The files used by the REPORT system are critical to the
proper system operation, therefore, it is important that they be maintained
in the correct format. If there is any question as to the file integrity
consult an expert, and possibly have them reupdated from a system tape
that you know is good.
USER'S MANUAL PAGE 24
II.10.3 RESERVING SERVICE LEVEL
In order to insure that the time spent using the REPORT system
is productive, you will find it helpful to reserve computer service
level several days in advance. For this purpose you will need to acquire
some "bams" which allow you to reserve system service level so that
no more then the your number of bams worth are in reserve at any one time.
The following procedure is an excerpt from the RSL manual explaining
how to reserve service (RSL.JHS[UP,DOC]), for further explaination
see FROST pg 118.
HOW TO RESERVE SERVICE LEVEL:
Give the monitor level command "RSL". This runs a csp
program called RSL which will receive and sometimes grant your
requests for service level reservations, and will tell you such
information as how much SL is available when.
RSL will prompt you with an asterisk ("*") when it's ready to
accept commands. Command format is discussed in detail below.
Commands are RESERVE,CALENDAR,AVAILABLE,DISPLAY,MAINTENANCE,and HELP.
For example, to reserve 15% sl at 1400 on the 31st of
December, any of the following command strings will serve:
RESERVE 15 SL AT 1400 HOURS ON 31-DEC
r 15 on 31 decemb at 2 p.m.
RE 2 PM ON 31 DECEMBER 15
R 15 14 31 12
If you wish to change a service level reservation, just do
another reservation for the new desired amount. Releasing a service
level reservation may be done by "reserving" 0% SL.
IMPORTANT!
When you are through making reservations, you should exit
from RSL by typing "E" (just like stopgap). If you exit instead by
typing ↑C, then there is a possibility that your reservations may get
"lost". The "E" command causes reservations to be written out onto
the disk.
DATA FILES PAGE 25
III. DATA FILES
The REPORT system is basically a series of programs whose
function it is to build, update and maintain a series of data files.
For this reason the permanent data files are critical to the program
operation. This section describes the structure and organization
of each of the files. A summary of the files is provided in Section I.
III.1 THE ADDRESS FILE
The address file is largest, and most critical of the files
used by the REPORT system. It is called ADDFIL.DSK, and contains all
of the addresses and accounting data for every customer. It is organ-
ized into pages with ten customers on a page in random order. Each
customer is allowed six lines, five for the address, and one for the
coded data. At the top of each page is a list of the hash codes
for each customer on that page. This header line will also appear
of the directory page, which is used by the CSREPT program to build
the HASHES file that is the cross-index into the address file.
1. Address entry format:
*CXXXXX|MMMMMMMMMMMM#HHHHH$000.00S
<address line 1 - name>
<address line 2 >
<address line 3 >
<address line 4 >
<address line 5 >
2. The code line format:
*CXXXXX|MMMMMMMMMMMM#HHHHH$000.00S
↓↓↓ ↓ ↓ ↓ |Sign, if "-" the account has credit
↓↓↓ ↓ ↓ ↓ | if " " the account is debit
↓↓↓ ↓ ↓ |The credit balance.
↓↓↓ ↓ |The hash code.
↓↓↓ |12 digits to indicate the number of reports ordered in the
↓↓↓ |last year, used to find inactive customers.
↓↓|The zip code, or country (or ORNXX,DARPA,AUTOM).
↓|The billing category.
|This is the character used to indicate the start of an address,
|and it is used in the processing for that purpose.
This line has 34 characters, and should not be changed from the
above format, as that is what is used in much of the computation.
3. The header line format:
*857FA,8600C,850JG,857RE,857EN,857SF,913SJ,900AP,943SG,#####,
The line will always have 61 characters. If there are less then
ten addresses on the page the line will be filled out by "#####"
hash codes that indicate to LISTUP to put additions on that page
before adding new pages to the file.
The line will always end with a "," except for the last page which
will end with a "/" to indicate to the program that this is the
last page.
FEATURE: The line has 61 characters, and the full page has 61
lines, the page is organized in the order of the hashes
in the header line. This allows the program to determine
which line an address starts on by the number of spaces
over the hash is in the header line.
DATA FILES PAGE 26
4. The HASH CODE is formed by using the first three
characters of the zip code for US addressees, or
the first three letters of the country for foreign
addresses. This is concatenated with two letters
picked from the first and second thirds of the name
line of the address. Finally a check is made to
see if the candidate hash already exists, if so
the last letter is changed and reconflicted. This
continues until a unique hash is formed. Actually
all combinations of the last two letters can be tried
before the program gives up (676 in the same zip region
or country).
FEATURE: This allows the ordered hash codes to be
searched easily by country or zip code.
III.2 THE HASH CODE CROSS-REFERENCE FILE
The HASHES file is built from the directory page of the
address file. It contains one entry for each hash code with the page
and record number indicates where the address can be found in the ADDFIL.DSK.
The file is sorted in alpha-numeric order. It file begins with the
word HASH to be used by the program, followed by the number of entries,
and finally, all of the entries, one per line as follows:
HASH
1380
AFRSA0028300095
AFRJG0029400099
AFRFW0032100108
AFRRB0023500078
The entry format:
HHHHHRRRRRPPPPP
↓ ↓ |The page number, 5 characters.
↓ |The record number, 5 characters.
|The hash code.
The file is built by SHELST using the ADDFIL.DSK directory page.
This process is quite long, and requires about 3 minutes of computer
time. For this reason the file is permanent. It is read in at the
start of each run, updated in by LISTUP if any changes are made.
If at any time there is a problem with the hash indexing
it can be rebuilt automatically if you simply delete the file and
create an empty file called "HASHES".
DATA FILES PAGE 27
III.3 THE DATA FILE
There are two pages of importance in the data file. Page
two contains the eight variable data items, and page 3 contains the
format of the invoice.
The data items are listed below:
DATA 7
1. BASE=1.00 THIS IS THE BASE PRICE FOR A DOCUMENT
2. PRICE=0.03 THIS IN THE COST PER PAGE OF A DOCUMENT
3. TAX=60 THIS IS IN TENTHS OF CENTS (IE 65 IS 6.5% OR $0.065)
4. COPIES=4 THIS IS THE NUMBER OF MASTER COPIES OF ORDER FORM AND SUMMARY
5. LINELB=6 THIS IS THE NUMBER OF LINES ON A LABEL (INCLUDING BETWEEN TWO)
6. LINEST=1 THIS IS THE NUMBER FROM THE TOP TO THE FIRST LINE
7. NAME=VICKI L FAHRENHOLZ NAME OF PERSON TO RECEIVE ORDERS
8. OWE=0.0 THIS IS THE TAX OWED, COMPUTED BY CSMONEY, INITIALIZED BY YOU
The "DATA 7" indicates the number of entries on the page. Each
item hash a unique number that is used to locate it, it then has the name
of the data followed by "=" which is used to locate the value.
The invoice contains all of the verbiage associated with the
invoice, but there are "*" characters wherever the program will have
to insert data. It is critical that these characters be left in place
even if the verbiage is changed. There are actually three paragraphs
indicated by the "|". The invoice has a preamble that is always
included, and it is folowed by the three paragraphs:
1. This paragraph contains the information
concerning reports that are being forwarded.(optional)
2. This paragraph contains the information for reports
that are out of stock.(optional)
3. This is the invoice.
The file is maintained by the DATA function of CSREPT.
III.4 THE REPORT FILE
The report file called REPT.DSK contains the coded data
necessary to process the monthly orders for reports. The file
has twelve pages, one for each month. Each page has a header
line that contains the month, number of entries, and number of
reports. After the header the page contains the report entries
one per line.
1. The header format is:
MON ENTRIES=##### REPORTS=#
↓ ↓ ↓ |The character to indicate the number
↓ ↓ ↓ |of reports (this is the highest number
↓ ↓ ↓ |and counts each report as two- one for
↓ ↓ ↓ |hardcopy, and one for microfiche.)
↓ ↓ |The number of report entries.
↓ |If this is a "*" it indicates that this is the open report file.
|The month this page is for.
This line will appear on the directory page, and is used for the
processing.
DATA FILES PAGE 28
2. The entry format is:
*STAN-76-CS-144|H,NNNN,0000,PP.PP|M,NNNN,0000|AAAA.%%|Y
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ |Y=0 FOR NEITHER.
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ |Y=1 ONR REPORT.
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ |Y=2 ARPA REPORT.
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ |Y=3 BOTH ARPA&ONR.
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ACCOUNT # AND PERCENT-1.
↓ ↓ ↓ ↓ ↓ ↓ ↓ NUMBER FICHE ORDERED (ACCOUNTING).
↓ ↓ ↓ ↓ ↓ ↓ NUMBER OF MICROFICHE.
↓ ↓ ↓ ↓ ↓ ↓ NONO NOT AVAILABLE OR UNLIMITED.
↓ ↓ ↓ ↓ ↓ COMPUTED ORDER NUMBER FOR MICROFICHE.
↓ ↓ ↓ ↓ PRICE PER HARDCOPY.
↓ ↓ ↓ NUMBER OF HARDCOPIES ORDERED.
↓ ↓ NUMBER HARD COPIES AVAILABLE.
↓ COMPUTED HARDCOPY ORDER NUMBER.
CS REPORT NUMBER WITH OPTIONAL EXTENSION.
This entry is built by MAKEML, and the number of reports ordered
is updated by CMONEY in the ORDER function. The data is used to process
and fill orders.
III.5 THE ORDER FILE
The order file called ORDER.DSK contains the coded ordering
information in the order that it was received. The order file
has twelve pages, one for each month. Each page has a header
line that contains the month, number orders, and the number of
reports. After the header the page contains the order entries
one per line.
1. The header format is:
MON ORDERS=##### REPORTS=#
↓ ↓ ↓ |The character to indicate the number
↓ ↓ ↓ |of reports (this is the highest number
↓ ↓ ↓ |and counts each report as two- one for
↓ ↓ ↓ |hardcopy, and one for microfiche.)
↓ ↓ |The number of orders in the file.
↓ |If this is a "*" it indicates that this is the open report file.
|The month this page is for.
This line will appear on the directory page, and is used for the
processing.
2. The format of the entry is just the hash code followed by the
report order numbers for the repports that were ordered.
HHHHH#####
The order numbers are the one digit numbers from the REPT.DSK
report entry, not the Stanford number.
This file is built by CSMONEY in the ORDER function, and the
entries are deleted by CSMAIL when the orders are mailed.
DATA FILES PAGE 29
III.6 HISTORICAL REPORT FILE
The report file called REPTFL.DSK contains the coded data
necessary to process the back orders for reports. The file
has one page which starts with the number on entries in the file
followed by the coded report information in the same format as it was
in the REPT.DSK.
The file is added to by CSMAIL each time a report mailing is
done, and is updated to reflect proper inventory levels by SENDER.
III.7 THE TEMPORARY FILES
There are four temporary files that are used for listing
purposes, and they should be deletes as soon as they have been listed
and checked, because they are very large. There are two types of files,
the label files which contain labels and should be listed on the
line printer, and the information files that should be listed
on the XGP.
The files are:
1. INFORM: Produced by MAKEML, it containes one page for
each copy of the order form requested by the
data item "COPIES", and a final page of process
summary data.
2. <MON>LAB: Produced by MAKEML, this file contains a label
for each entry in the address file. There is
only one page to this file.
3. INVOIC: Produced by CSMAIL this fle contains an invoice
for everyone that submitted an order during the month
that was processed, one per page, and a final
page of processing summary data.
4. LABELS This file contains the mailing labels for all those
who submitted an order, followed by a label for all
those whose account has been inactive for the last
12 order periods. There is only one page to this file.
This file is built by CSMAIL.
MAINTENANCE MANUAL PAGE 30
IV. MAINTENANCE MANUAL
IV.1 INTRODUCTION
The design of the REPORT system is basically modular in form.
This allows problems to be isolated to a particular program and
procedure quite easily. Once a problem has been isolated, it is
necessary to determine the exact cause. To help determine the
reason for a "bug" this section will discuss the program formats
with particular emphasis on the data structures utilized at each level.
This should also be of help when adding modifications to the system.
The most probable cause of a system error is related to
the data files. If there is a problem in the running of one of
the programs try to determine which files were being used when
the problem occurred, and check them to insure that they are in the
proper format, as described in section III. The most likely file
problems are that the file may be missing, or in improper format.
One cause of this is that the operator may have aborted the run
(↓C) during file updating.
IV.2 SOME HACKS
In order to check the format of the files all that is necessary
is to make a visual check of the format as described in the last
section. If the file is bad it can be reloaded from a system tape
that was taken before the problem occurred, and the changes that
were made since that time reaccomplished. Of special interest
is the address file.
1. Address file checking (ADDFIL.DSK). The address file is
the largest, and most critical of the files. If an error
occurs on a particular entry, determine the hash using
BAIL as described below, and check its format in the
file. Another probable error would occur if the entry is in
the file, but the program cannot find it, then its time
to suspect that the HASHES file is in error. If you wish to
check the format of the entire file:
a. Enter SEARCH in the name mode.
b. Don't type in a name just hit <cr>, this
will begin displaying the file 23 names at a
time. If the format is right you should be
able to progress through the entire file.
2. HASHES cross-reference list. This is a critical index
used by all of the programs to access the address file.
If it is bad, or missing, simply have the program rebuild
it as described in section III.
3. The other permanent files to be maintained are:
REPT.DSK Problems would appear in CMONEY
or CSMAIL concerning report data.
A visual check should find the error.
ORDER.DSK Problems would appear in CMONEY if the
file is missing, or CSMAIL if it is in error.
LBDATA Problems can be checked in DATA.
MAINTENANCE MANUAL PAGE 31
The simplest method of determining the reason for a
program error is to use BAIL, the interactive debugger. In
order to do this, you must first recompile the programs
with the debugger. This is done as follows:
TRY/COM CSREPT,LISTUP,MAKEML,CMONEY,CSMAIL<cr>
This will take about 60 seconds of computer time, and
will start the system. Next you should run to where the error
occurred and start the debugger by hitting the "CALL" button, and
typing: DD<cr>. The debugger will initialize itself, and allow
you to diagnose your problem. You may have to set the lexical
level to "1" to view some of the data.
For testing purposes it is probably advisable to use
a smaller address file. In order to do this:
1.Rename the files: RENAME FOO←ADDFIL.DSK<cr>
RENAME BAR←HASHES<cr>
2.Copy a few pages of the address file:
COPY ADDFIL.DSK←FOO(1:5)<cr>
3.Create an empty hash file:
CET HASHES<cr>
4.Perform the tests.
5.Restore the correct files:
RENAME ADDFIL.DSK←FOO<cr>
RENAME HASHES←BAR<cr>
IV.3 PROGRAM STRUCTURE
To rapidly locate the cause of an error in the REPORT system
it s necessary to be familiar with the structure of the programs, the
functions performed by each programmer procedure, and the data structures
used in each. This section will attempt to provide some insight into
these design details. For further clarification see the sail code
program listings which are highly commented.
The five programs are written in SAIL for the DEC KL10 computer
system. They are designed so that the program functions are local to
the particular program and procedure. The only major exception to this
is in the processing of requests to locate entries in the address file,
which is accomplished by the procedures BILOOK AND FINDER in CSREPT.
Much of the data structures used by this system are global to all of the
programs, and are declared "external" or "internal".
MAINTENANCE MANUAL PAGE 32
IV.3.1 CSREPT
This program initializes the data channels, daclares
all of the global data, reads in the HASHES table and starts the
system. The entire system is run from within the procedure PRESID.
CSREPT also includes the SHELST, BILOOK, and FINDER procedures
that are used by the all of the programs as utilities.
All of the programs are declared as EXTERNAL to CSREPT so
that they can be called as procedures from within the PRESID procedure.
Except for the "programs" which are actually internal procedures, and
PRESID, most of the procedures in the entire system are declared as
"SIMPLE" in order to simplify the program operation.
PROC FUNCTION DATA STRUCTURES
____________________________________________________________________________________
CSREPT| At startup it reads in the |
| data, opens the data channels,|
| and calls PRESID to run the |
| the system. |
PRESID| Reads in or recomputes the |NUMBER the number of entries in ADDFIL.DSK
| hash table, and calls the |HASHTB the in core ordered hash table.
| rest of the functions as they |
| are requested. |
SHELST| Performs an alpha/numeric |Uses NUMBER and HASHES to perform the
| Shell sort of the hashes file.|sort.
| Also used by CSMAIL to sort |
| the mailing data. |
BILOOK| This is a very important |Uses the HASH that was requested to search
| procedure used to find the |the HASHTB.
| location of an entry in the |Returns UP if true then the hash could'nt be
| address file (binary sort of |located, REC the record of the entry, PG the
| the HASHTB). |page number of the entry, NOW the number
| |of the entry in the HASHTB.
FINDER| Used to find the address entry|Uses HASH, REC to find the entry in the
| given the record number. |ADDFIL.DSK
| |Returns the 6 line address in ADDRESS[0:5]
SEARCH| This procedure will search the|HASH Calls FINDER and BILOOK to execute
| ADDFIL.DSK by either the HASH,| the search.
| ZIP, or NAME upon request or |ZIP Calls FINDER and BILOOK with some
| when called by a program due | changes to how BILOOK operates
| to a bad hash code request. | indicated by the flag SHAKE.
| |NAME Direct serial string search of the
| | name lines in ADDFIL.DSK
DATA | Allows operator modification |Uses, and modifies the 8 data items, BASE,
| of the 8 data items. |PRICER,TAX,COPIES,LINELB,LINEST,PAT,OWE
| |which are global to the system. Also
| |updates the permanent file LBDATA.
HELPER| This is a case statement which|The item HELP determines which type
| provides the help. |to print out.
____________________________________________________________________________________
MAINTENANCE MANUAL PAGE 33
The GLOBAL data items used throughout the entire system are declared
by CSREPT. These are:
DATA DECLARATION EXPLANATION
____________________________________________________________________________________
-STRING ARRAY-|
HASHTB[1:NUMBER]|The in-core string array version of the HASHES file.
ADDRESS[0:5] |Used to pass address entries (6 line address for 1 entry in file).
-STRINGS- |
TYPEIN |The string used to receive operator requests throughout REPORT.
PAGE |The string used to read in a page of a file throughout the system.
LINE |The string used to scan one line from a page (PAGE) throughout.
HASH |The string used to hold the hash code being processed throughout.
HEADER |The string used to hold the header line from the page (PAGE) of
| the ADDFIL.DSK, REPT.DSK, or ORDER.DSK when they are being read.
-BOOLEAN¬ |
UP |Flag, if True the hash is not in the HASHTB.
SWITCH |Flag, if true CMONEY goes into ORDER mode, if false goes to RECD.
SHAKE |Flag, if true then FINDER uses only 3 characters of the hash code
| to return an entry, this is for the zip code search.
-INTEGER- |
REC |The record number of the requested entry in the address file.
PG |The page number on which to find an address in the address file.
JMP |The line number on which to find an address in the address file.
NOW |The entry number of the hash in the HASHTB.
NUMBER |The number of entries in the address file. Computed by CSREPT
| by the length of the directory page.
BRCHAR |The octal number to indicate what stopped the last INPUT or SCAN.
C1,C2,C3,C4,C5 |The IO channels.
PL |The psyedo TTY channel.
COUNT,DSKCT |The number of characters accepted from the channel.
___________________________________________________________________________________
Not included in the above list are the data items (LBDATA) which were
explained in an earlier section.
Throughout the program heavy use is made of the MACRO capability of
SAIL. This enables a series of repetative functions to be called by using
a pneumonic which will be expanded at compile time. A few of the more
highly used macroes are explained here:
TTIN This will input a response from the TTY and store it in TYPEIN.
PGIN This will input a page from a file and store it in PAGE.
SCIN This will remove a line from a page and store it in LINE.
CRLF This will insert a carrage return, line feed in an output.
PRT This will print to the TTY after going to a new line.
FILLER This will initialize the address file for input to a REC.
ETVIN This will log in a PTY job.
ETVOUT This will kill the PTY job.
INSERT This will ues ETv to insert a line in a file thru the PTY.
MAINTENANCE MANUAL PAGE 34
IV.3.2 LISTUP
The sole purpose of the LISTUP function is to perform all of
the required changes to the address file. This function is necessary
to assure that the file is kept in the proper format for processing
by the rest of the system. In addition to the normal formatting
function LISTUP will also compute new hash codes, assure that they unique,
and maintain the hash code cross-reference file(HASHES) and table(HASHTB).
The entire program operation is controlled form within a loop by the
procedure called THEBOS.
PROC FUNCTION DATA STRUCTURES
____________________________________________________________________________________
THEBOS |Control the processing,by |CHANGE: True if files was changed in
|calling procedures upon user | the last request.
|request. |TESTIT: Flag to indicate ADD is in progress
| |HELP: Tells HELPAD what type of help.
CHAG |Controls the add and mod |CGS: number of changes made.
|functions,and calls ETV to |HEADS: modified address file page header.
|process the file changes when |JMPG: line, and page numbers of changes.
|all of the add/mods have been |LINES: The new or modified address entries.
|input. |
ADDNEW |Interactively builds up the |Builds the new entry in ADDRESS[0:5].
|new address entry, and hash |Passes hash="#####" to tell MODIFY that
|code, then calls MODIFY. |it needs to search for a blank entry.
| |Passes the zip code in ZIP.
MODIFY |Will display the requested |Processes the entry in ADDRESS[0:5].
|entry, and allow any changes |HASH is the hash code it will try to
|except hash code. Will change |match in the HASHTB.
|the hash if the zip or country |
|change. |
ETV |Will log in a PTY job, and |Uses the data passed from CHAG.
|make all of the add/mod changes|
|at once using the ETv editor |
DELETE |Receives and verifies all of |
|the delete requests, then does |DELS: contains the line number, page
|the actual delete operations | and new page header for all those
|using ETv. | to be deleted.
| |DEL: the number of deletes.
HASHER |Is the procedure called by |Uses BILOOK to check the candidate in
|ADDNEW and MODIFY to assure |HASH. Progresses through II in mod
|that all hash codes are unique.|26, and JJ in mod 26, but once per II.
HELPAD |This is a case statement used |HELP the integer to indicate which
|to provide the help. |type of help to print.
| |
___________________________________________________________________________________
MAINTENANCE MANUAL PAGE 35
IV.3.3 MAKEML
MAKEML is composed of two main functions. The build function
to add entries to the report file (REPT.DSK), this is performed by
the BUILD procedure. Second, the make function that makes the order
forms, and the mailing labels, this is performed by the MAKE procedure.
MAKEML uses the ADDFIL.DSK to gather the address information, builds:
REPT.DSK: file with the report entries.
<MON>LAB: with the mailing labels in zip code order.
INFORM: with the order form master, and the processing summary.
The program also initializes the ORDER.DSK file for the proper
month to receive report orders.
PROC FUNCTION DATA STRUCTURES
____________________________________________________________________________________
entry |Upon MAKEML entry the program |MONTH: the three character month (ie jan).
|determines if you want to |
|start processing with make or |
|build, and the month. |
BUILD |nteractively builds the report |RECNUM: record of month in REPT.DSK.
|entries to add to the file,then|PAGER: page of month in REPT.DSK.
|updates the REPT.DSK and |EXISTING: number of existing reports in file.
|ORDER.DSK files all at once |ENT: report entry being processed.
|just before exiting. |ENTREE: holds new approved report entries
MAKE |Is a procedure used to call the| until they sre added to the file.
|two procedures LABELS and FORM |Declares the data items that are used
|to process the output. | to count categories of addresses.
LABELS |Outputs the mailing labels to |ADDER: Holes the labels until there are
|the file <mon>LAB. |at least 8000 characters then dumps them
|Processes through every entry |to the file.
|in the address list. |Uses most of the global items in a tight
| |processing loop to build an entry in
| |ADDRESS[0:5] to add to ADDER.
FORM |First produces the order form |COPIES: the number of master order forms.
|then the processing summary. |Uses LINE to build a line, then adds it to
|Outputs then to INFORM. |LETTER and finally outputs to the file.
| |The summary does same LINE→LETTER→INFORM,
| |but formats report, account, address file
| |summaries.
____________________________________________________________________________________
The processing of the MAKEML function is basically in-line, with
no interactive loops being executed. The majority of the compute time
is spent in the LABELS procedure, within the "FOR" loop that produces the
labels in zip code order.
NOTE It is suggested that when the labels are made, once an order cycle,
15 to 20% service level be reserved for two hours in the early morning.
MAINTENANCE MANUAL PAGE 36
IV.3.4 CMONEY
The CMONEY program can run in one of two possible modes.
The ORDER mode (SWITCH=TRUE) in which orders are received, the
ORDER.DSK file updated, and funds credited to the individual
accounts if sent with the order. The RECD mode (SWITCH=FALSE)
in which funds are credited to the individual accounts. In both modes
the California tax is computed if applicable.
The processing in either mode occurs in a loop, and the files
are not actually updated until the loop is terminated.
PROC FUNCTION DATA STRUCTURES
____________________________________________________________________________________
entry |The mode is determined. If |SWITCH: to determine the mode.
|order, the correct month is |Searches the ORDER file for the correct
|found, and procedure ORDER is |month (MONTH).
|called control the processing. |
|If RECD the payment loop is |
|entered. |
HASHCK |Is called in the loop of both |HASH: For the hash to check.
|modes to receive and check the |Calls BILOOK to check, SEARCH if the
|HASH code. |hash is not in HASHTB, and FINDER to
| |return the address info ADDRESS[0:5].
ORDER |Controls the order loop. Calls|BUILDER: Holds the orders input until
|HASHCK to receive the hash, |they are ready to add to the file upon exit.
|receives the orders in a loop, |COUNTER: The number of orders input.
|calls amount to receive the |COUNT: The number of oders already.
|payment, and finally adds the |NUMM: The number of reports.
|orders to the file upon exit. |
|Updates the order count in |
|REPT.DSK |
AMOUNT |This is used to receive and |OWETAX: The amount of tax comuted.
|verify the funds received. |LIKENUM: Number of accounts processed.
| |LIKEHASH[*]: saves the hash, address file
| |page and record number, and amount.
ADDAMT |Updates the credit information |Uses the date above to update the
|in the address file, and the |two files.
|taxes owed in the LBDATA file. |
|Called just prior to exit. |
____________________________________________________________________________________
This program runs rather quickly, and is designed to receive
as many orders or payments as the operator should wish to input with
little or no compute time. Upon exit the program will modify the files
using ETv.
MAINTENANCE MANUAL PAGE 37
IV.3.5 CSMAIL
Once the program determines what month you wish to mail,
CSMAIL calls the procedure MAILIT which executes all of the
processing. This procedure is used to control the processing
so that it can declare variable length data structures that are
used throughout the processing. These are:
LIKEHASH[1:NUMBER,1:7]: Used to receive the address file
entries, and order data as it is processed.
TITLES[1:REPORTS]: The titles of the report.
REP[1:REPORT,1:2]: Stock and order levels.
PRICES[1:REPORT]: Price of the reports.
LOCATE[1:ORDERS,1:2]: Record and line number of addressee.
These data structures are global to the rest of the procedures
that make up MAILIT.
PROC FUNCTION DATA STRUCTURES
____________________________________________________________________________________
entry |Determines the month to process|ORDERS: number of orders.
|initializes the data, and calls|REPORTS: number of reports.
|MAILIT. |REC: record number of month in REPT.DSK
| |OREC: record number of month in ORDER.DSK.
| |STT: page with coded report data.
MAILIT | -explained above- |
|calls all of the following |SEE ABOVE
|procedures in order. |
CHECKS |Display the current inventory |Sets up TITLES, PRICES, and REP.
|levels and allow the operator |Allows changes to REP[X,1].
|to change any or all. |
MAKELS |Uses the stock levels to fill |During the processing, some hash table
|the orders in FIFO order. Uses |entries are temporarily stored in
|SHELST to order the orders. To |"LIKEHASH[X,0]", while the orders
|do this the HASHTB↔LIKEHASH is |are put in HASHTB, filled, and sorted.
|temporarily made. Also adds the|Also LIKENUM↔NUMBER.
|report entries to REPTFL.DSK |
LABELS |Produces the labels for active |The MAILIT global data is used.
|then inactive customers, uses |The address is added to LIKEHASH to
|LABIT to put the labels in the |use in INVOICES, and the address is
|file. |passed to LABIT in ADDRESS. ADDER
| |is used to pass data to LABELS file.
LABIT |Configures the labels and reads|Receives the address in ADDRESS,
|then to the file when there are|uses ADDER to build up the entry.
|at least 8000 characters of |
|them. |
INVOICES|This procedure will print one |The invoice format is from the LBDATA
|invoice for each order, and |file. The invoices are made one at a
|output it to the INVOICES file.|time in the string SAVER.
REPORT |Adds the summary of orders |LINE and STT are used to build up
|processed and funds charged to |the summaries that are passed to
|the INVOICES file as the last |the file.
|page. |
____________________________________________________________________________________
If the program runs to completion, and all of the labels are not
in the file, you may want to either require more string space, or break
the order list into two runs by splitting it between months.
SENDER PAGE 38
V. SENDER
V.1 INTRODUCTION
Sender is a stand alone porgram that was designed to process
late orders for reports by anyone regardless of if they are on the
address file or not. The program will update the inventory, and compute
an invoice, but will not update the credit balance of the account, which
can be done with LISTUP.
V.2 USE OF SENDER
The CSMAIL function is entered as follows:
CSREPT - what can I do for you? *CSMAIL<cr>
The program will respond as follows:
SENDER - Enter name or <cr> to exit *
The acceptable responses are:
?<cr> WILL PRINT YOUR OPTIONS
HELP<cr> WILL PROVIDE SOME HELP
<cr> WILL CAUSE THE PROGRAM TO EXIT
<name<<cr> THE FIRST LINE OF THE ADDRESS FOR THIS ORDER
Enter line <#> of the address *
The acceptable responses are:
<line><cr> THE ADDRESS LINE (FIVE LINES ARE ASKED FOUR FOR
THE ADDRESS, AND THE NAME LINE) MUST BE LESS THEN
35 LETTERS.
<cr> WILL CAUSE THE ADDRESS LINE TO BE LEFT BLANK.
Is the customer to be charged for reports (Y or N)? *
The acceptable responses are:
?<cr> WILL PRINT YOUR OPTIONS
HELP<cr> WILL PROVIDE SOME HELP
<cr> WILL CAUSE THE PROGRAM TO REPEAT THE QUESTION.
Y<cr> THE CUSTOMER WILL BE CHARGED FOR REPORTS THAT ARE SENT.
N<cr> NO CHARGE WILL BE MADE FOR REPORTS.
Is this order to be sent to someone within California (Y or N)? *
The acceptable responses are:
?<cr> WILL PRINT YOUR OPTIONS
HELP<cr> WILL PROVIDE SOME HELP
<cr> WILL CAUSE THE PROGRAM TO REPEAT THE QUESTION.
Y<cr> THE CUSTOMER WILL BE ACCESSED TAX FOR REPORTS ORDERES.
N<cr> NO TAX WILL BE CHARGED.
Report title or <cr> if finished *
The legal responses are:
?<cr> WILL PRINT YOUR OPTIONS
HELP<cr> WILL PROVIDE SOME HELP
<cr> WILL CAUSE THE INVOICE TO BE WRITTEN.
<report><cr> THE OFFICAL NAME OF A REPORT THAT WAS ORDERED.
SENDER PAGE 39
V.3 MAINTENANCE OF SENDER
The sole purpose of the sender program is to produce an
invoice and update the stock levels for reports that come in late
from anyone regardless of whether they are in the address file or not.
The program udates the inventory levels in the report history file
REPTFL.DSK, writes the invoices to the temporary file INVOIC, and
exits.
PROC FUNCTION DATA STRUCTURES
____________________________________________________________________________________
exec |Reads in the reports, and data |ADDRESS[1:5] the name&address of the current
|file,processes the requests in | processing.
|a loop calling ORDER and |DATA the report history file.
|INVOICE, and finally reads the |CHARGE indicates if orders are to be charged
|modified report file to disk. | for (=1) or not (=0).
| |ZIP indicates if tax is to be computed (=1).
ORDER |Receives the report orders in |ORDERS number ordered
|a loop, checks to see if they |NOOR number not in stock
|are in the file, and in stock |INSTOC flag to indicate that order was at
|and adds them to either the | least partially filled
|in stock, or out of stock list |NOSTOC flag to indicate the order was at
| | least partially unfilled.
| |ORDTIT titles and prices of reports found
| |NOORTIT titles of reports not found.
| |TOTAL total charge.
INVOICE |Uses the data provided by ORDER|
|to assemble an invoice form the|
|format in the LBDATA file. Then|
|outputs the invoice to INVOIC |
|and returns to the executive to|
|process another order. |
| |
____________________________________________________________________________________
SENDER PAGE 40
V.3 RUN EXAMPLE
al use,csr
.run sender
SENDER - Enter name or <cr> to exit *help
HELP FOR THE SENDER PROGRAM:
The sender program is designed to produce an invoice for
orders made by people who are not in the address file. It will
also keep track of the inventory level. The program uses the
reports that are in the REPTFL.DSK data file, which is updated
after the normal mailing by CSMAIL. If you wish to send late
copies to an individual who is in the address file, you will
have to update the amount of money that he owes by useing the
LISTUP porgram.
The program runs in a loop allowing you to input the address,
followed by the reports that were ordered one at a time. If a
report cannot be found, or it is out of stock the invoice will
so state, otherwise the customer will be charged if he is not a
free user.
The legal responses are:
?<cr> WILL PRINT YOUR OPTIONS
HELP<cr> WILL PROVIDE SOME HELP
<cr> WILL CAUSE THE PROGRAM TO EXIT
<name<<cr> THE FIRST LINE OF THE ADDRESS FOR THIS ORDER
SENDER - Enter name or <cr> to exit *thomas l. james
Enter line 1 of the address *2354 dellart rd.
Enter line 2 of the address *unnyvale, california 94567
Enter line 3 of the address *
Enter line 4 of the address *
Is the customer to be charged for reports (Y or N)? *?
The legal responses are:
?<cr> WILL PRINT YOUR OPTIONS
HELP<cr> WILL PROVIDE SOME HELP
<cr> WILL CAUSE THE PROGRAM TO REPEAT THE QUESTION.
Y<cr> THE CUSTOMER WILL BE CHARGED FOR REPORTS THAT ARE SENT.
N<cr> NO CHARGE WILL BE MADE FOR REPORTS.
Is the customer to be charged for reports (Y or N)? *y
Is this order to be sent to someone within California (Y or N)? *y
Report title or <cr> if finished *?
The legal responses are:
?<cr> WILL PRINT YOUR OPTIONS
HELP<cr> WILL PROVIDE SOME HELP
<cr> WILL CAUSE THE INVOICE TO BE WRITTEN.
<reoort><cr> THE OFFICAL NAME OF A REPORT THAT WAS ORDERED.
Report title or <cr> if finished *aim-280
Report title or <cr> if finished *stan-cs-76-561
Report title or <cr> if finished *aim-100
REPORT OUT OF STOCK
Report title or <cr> if finished *
SENDER - Enter name or <cr> to exit *
GOODBYE - Your invoices are in INVOICE - Have a nice day.
End of SAIL execution
APPENDIX A PAGE 41
- - - THE FOLLOWING IS A RUN EXAMPLE FOR CSREPT - - -
run report
CSREPT - What can I do for you? *?
LEGAL RESPONSES ARE:
LISTup<cr>- to change to mailing list
MAKEml<cr>- send the abstract listing
CSORD<cr>- process incoming orders
CSMAIL<cr>- send out the reports and bills (invoice)
CSRECD<cr>- process payments received
DATA<cr> - update data items
SEARCH<cr>- searches for adressee
HELP<cr> - for a little help from a friend
<cr> - to exit (<cr> will usually exit one level
CSREPT - What can I do for you? *error
LEGAL RESPONSES ARE:
LISTup<cr>- to change to mailing list
MAKEml<cr>- send the abstract listing
CSORD<cr>- process incoming orders
CSMAIL<cr>- send out the reports and bills (invoice)
CSRECD<cr>- process payments received
DATA<cr> - update data items
SEARCH<cr>- searches for adressee
HELP<cr> - for a little help from a friend
<cr> - to exit (<cr> will usually exit one level
CSREPT - What can I do for you? *help
HELP FOR THE CS REPORT DISTRIBUTION SYSTEM
THE COMPUTER SCIENCE REPORT PROGRAM (CSREPT) IS
TO PROVIDE THE ACCOUNTING AND DISTRIBUTION FUNCTION FOR THE
LIBRARY AND PUBLICATIONS COMMITTEE. IT IS COMPOSED OF SIX
FUNCTIONS WHICH ARE DESCRIBED BELOW, THEY CAN BE REACHED
BY TYPING THE FOLLOWING RESPONSES WHEN ASKED BY CSREPT WHAT
YOU WISH TO DO:
LISTup<cr> - this function is intended to make all
changes to the mailing list.
MAKEml<cr> - makes the mailing labels, the order forms
and prepares the files to receive the
report orders and payments.
CSORD<cr> - processes the orders as they are received
and will inform you when all copies of
a document have been ordered.
CSMAIL<cr> - prints the invoices and mailing labels
and provides summary of orders.
CSRECD<cr> - processes payments received.
DATA<cr> - allows you to make changes to some of
of the data used in processing-
price per page,number of copies of
lists to output.
APPENDIX A PAGE 42
- - - THE FOLLOWING IS A RUN EXAMPLE FOR CSREPT - - -
SEARCH<cr> - allows you to search for an addressee
in the file. You can search by the
hash code which is fastest, the zip
which is fairly efficient, or the last
name which is ridiculously bad. If
you run a function that needs a hash
which is supplied incorrectly it will
cause an automatic search
THE PROGRAMS ARE DESIGNED SO THAT INPUTS ARE CHECKED AS YOU
TYPE THEM, AND IF THEY ARE FOUND TO BE WRONG YOU ARE SHOWN
THE ACCEPTABLE INPUTS. HELP IS AVAILABLE BY TYPING-HELP<cr>¬
ON THE ENTRANCE TO ANY PROGRAM, AND MANY MAJOR FUNCTIONS OF
THE PROGRAMS. IF AT ANY TIME YOU ARE UNSURE AS TO THE
EXPECTED INPUT SIMPLY TYPE -?<cr>-. FOR A DETAILED DISCUSSION
OF THE PROGRAM OPERATION READ THE REPORT.
CSREPT - What can I do for you? *data
DATA - THE CURRENT VALUES ARE:
DATA 7
1. BASE=1.00 THIS IS THE BASE PRICE FOR A DOCUMENT
2. PRICE=0.02 THIS IN THE COST PER PAGE OF A DOCUMENT
3. TAX=60 THIS IS IN TENTHS OF CENTS (IE 65 IS 6.5% OR $0.065)
4. COPIES=4 THIS IS THE NUMBER OF MASTER COPIES OF ORDER FORM AND SUMMARY
5. LINELB=6 THIS IS THE NUMBER OF LINES ON A LABEL (INCLUDING BETWEEN TWO)
6. LINEST=1 THIS IS THE NUMBER FROM THE TOP TO THE FIRST LINE
7. NAME=VICKI L FAHRENHOLZ NAME OF PERSON TO RECEIVE ORDERS
8. OWE=0.0 THIS IS THE TAX OWED, COMPUTED BY CSMONEY, INITIALIZED BY YOU
NUMBER OF THE ITEM TO BE CHANGED, OR <cr> TO EXIT *2
NEW VALUE *0.03
DATA - THE CURRENT VALUES ARE:
DATA 7
1. BASE=1.00 THIS IS THE BASE PRICE FOR A DOCUMENT
2. PRICE=0.03 THIS IN THE COST PER PAGE OF A DOCUMENT
3. TAX=60 THIS IS IN TENTHS OF CENTS (IE 65 IS 6.5% OR $0.065)
4. COPIES=4 THIS IS THE NUMBER OF MASTER COPIES OF ORDER FORM AND SUMMARY
5. LINELB=6 THIS IS THE NUMBER OF LINES ON A LABEL (INCLUDING BETWEEN TWO)
6. LINEST=1 THIS IS THE NUMBER FROM THE TOP TO THE FIRST LINE
7. NAME=VICKI L FAHRENHOLZ NAME OF PERSON TO RECEIVE ORDERS
8. OWE=0.0 THIS IS THE TAX OWED, COMPUTED BY CSMONEY, INITIALIZED BY YOU
NUMBER OF THE ITEM TO BE CHANGED, OR <cr> TO EXIT *
APPENDIX A PAGE 43
- - - THE FOLLOWING IS A RUN EXAMPLE FOR CSREPT - - -
CSREPT - What can I do for you? *search
SEARCH: DO YOU KNOW THE HASH CODE? (Y, N OR EXIT) *y
HASH CODE *940lr
YOUR ENTRY IS ON PAGE: 0006
* 94086|NNNNNNNNNNNN#940LR$000.00
CONTROL DATA CORPORATION
LIBRARY-RM. 140
215 MOFFETT PARK DR.
SUNNYVALE, CALIFORNIA
DO YOU WISH TO DO ANOTHER SEARCH? (Y OR N) *y
SEARCH: DO YOU KNOW THE HASH CODE? (Y, N OR EXIT) *n
SEARCH: DO YOU KNOW THE ZIP CODE? (Y,N OR EXIT)*y
ZIPCODE? *94086
HASH=940GR PAGE=0013 NAME= GEORGE R. LEWIS
HASH=940NT PAGE=0016 NAME= KORNEL SPIRO
HASH=9400V PAGE=0018 NAME= DR. D. VAN VOORHIS
HASH=940GW PAGE=0019 NAME= WOLFGANG WERNER
HASH=940LR PAGE=0006 NAME= CONTROL DATA CORPORATION
ENTER HASH IF HE IS SHOWN, ELSE <cr> TO CONTINUE. *940gw
THE ENTRY FOR THE HASH YOU GAVE IS:
* 94086|NNNNNNNNNNNN#940GW$000.00
WOLFGANG WERNER
ATI
645 ALMANOR
SUNNYVALE, CALIFORNIA
CSREPT - What can I do for you? *search
SEARCH: DO YOU KNOW THE HASH CODE? (Y, N OR EXIT) *n
SEARCH: DO YOU KNOW THE ZIP CODE? (Y,N OR EXIT)*n
LAST NAME? (OR EXIT) *knuth
HASH=IDMFE PAGE=0127 NAME= PROF. D. KNUTH
ENTER HASH IF HE IS SHOWN, ELSE <cr> TO CONTINUE. *idmfe
THE ENTRY FOR THE HASH YOU GAVE IS:
*FIDMAI|NNNNNNNNNNNN#IDMFE$000.00
PROF. D. KNUTH
POLYA HALL
APPENDIX A PAGE 44
- - - THE FOLLOWING IS A RUN EXAMPLE FOR LISTUP - - -
run report
CSREPT - What can I do for you? *list
LISTUP - Function or <cr> to exit *help
ADDRESS FILW UPDATE PROGRAM HELP
THE PROGRAM IS DESIGNED TO MAKE ANY UPDATES NECESSARY
TO THE USER FILE FOR CSREPORT RECIPIENTS. THE FILE
IS MAINTAINED IN ETv FORMAT AND CAN BE READ USING THE
ETv TEXT EDITING SYSTEM. IT IS REQUESTED THAT ALL FILE
UPDATES BE DONE USING THIS PROGRAM SO THAT THE INTERNAL
FILE REFERENCING BY THE CSREPORT SYSTEM CAN BE DONE.
CHANGES ARE MADE TO THE FILE THROUGH INTERACTION
WITH THE USER, FIRST THE INPUTS ARE CHECKED AND IF AN
ERROR IS DETECTED YOU WILL BE GIVEN AN OPPORTUNITY TO RESTART
THEN IF ALL IS CORRECT THE PROGRAM WILL USE E TO PERFORM
THE UPDATE AND RECONFIGURE THE FILE.
IN ORDER TO INITIATE THE PROCESS ENTER:
ADD<cr> TO ADD A NEW ENTRY
MOD<cr> TO CHANGE AN ENTRY
DEL<cr> TO DELIT AN ENTRY
ADD HELP<cr> FOR HELP WITH AN ADD
MOD HELP<cr> FOR HELP WITH A CHANGE
DEL HELP<cr> FOR HELP WITH THE DELIT
<cr> TO EXIT
THERE IS HELP AVAILABLE FOR MOST OF THE INPUT REQUESTS, AND
YOU WILL BE PROMPTED TO ASK FOR IT.
NOW TYPE IN YOUR REQUEST--
LISTUP - Function or <cr> to exit *add help
ADD HELP:
THIS REQUIRES SOME PREPROCESSING IN ORDER TO DETERMINE THE
USER'S HASH CODE, AND PACK IT WITH THE STATISTICAL DATA
WHICH WILL BE MAINTAINED WITH THE ADDRESS.
THE PROCEDURE THAT PERFORMS THE ADD OPERATION REQUEST
ACTUALLY ONLY PREPROCESSSES THE DATA INTERACTIVELY, AND
PASSES IT TO THE MODIFY PROCEDURE. BY DOING THIS
YOU WILL HAVE THE OPPORTUNITY TO CHECK YOUR INPUT,
AND CHANGE IT IF IT IS WRONG. THE ACTUAL ADD WILL NOT
BE PERFORMED UNTIL YOU OK ENTRY.
APPENDIX A PAGE 45
- - - THE FOLLOWING IS A RUN EXAMPLE FOR LISTUP - - -
THE FORMAT OF AN ENTRY IS:
*CXXXXX|MMMMMMMMMMMM#HHHHH$000.00S <code line>
<address line 1 - name>
<address line 2 >
<address line 3 >
<address line 4 >
<address line 5 >
- - TYPE <cr> TO CONTINUE HELP - -
YOU WILL BE ALLOWED 5 LINES FOR THE USERS ADDRESS
CODE LINE KEYS: C -BILLING CODE OF b ,N,M,A,F
XXXXX -ZIP OR COUNTRY CODE OF b ,USSR,IDMAI
M -NUMBER OF ORDERS EACH OF LAST 12 MON
HHHHH -USER HASH CODE FOR SORTING THE FILE
MADE FROM ZIP CODE AND NAME
$000.00S -MONEY USER OWES AND SIGN.
YOU WILL BE ASKED TO INPUT: THE USERS NAME, THE BILLING
CATEGORY (HELP IS AVAILABLE), ZIP OR COUNTRY CODE (HELP
IS AVAILABLE), AND UP TO 4 OTHER ADDRESS LINES.
THE MOD PROGRAM WILL THEN DISPLAY YOUR ENTRY AND IF IT
IS OK YOU CAN ACCEPT IT, IF NOT YOU CAN CHANGE ANY LINE,
CAUTION SHOULD BE EXERCISED IN CHANGING THE TITLE LINE
YOU CANNOT CHANGE THE HASH CODE.
ADD/MOD enter option *add
TYPE IN THE FIRST LINE (THE NAME) OF THIS ENTRY OR <cr> TO EXIT
*capt william t. colema iii
BILLING CATEGORY *f
ZIP CODE, OR COUNTRY *94022
Please don't reenter the zip with the address
LINE 0002 *11495 robinhood ct
LINE 0003 *los altos, cal
LINE 0004 *
LINE 0005 *
THE ENTRY YOU WISH TO CHANGE IS:
LINE# 0 *F94022|NNNNNNNNNNNN#940LO$000.00
LINE# 1 CAPT WILLIAM T. COLEMA III
LINE# 2 11495 ROBINHOOD CT
LINE# 3 LOS ALTOS, CAL
LINE# 4
LINE# 5
UPdate,ABort,OR LINE NUMBERS TO CHANGE *up
A new page will be added to the file.
TYPE IN THE FIRST LINE (THE NAME) OF THIS ENTRY OR <cr> TO EXIT
*
APPENDIX A PAGE 46
- - - THE FOLLWOING IS A RUN EXAMPLE FOR LISTUP - - -
ADD/MOD enter option *?
LEGAL RESPONSES ARE:
ADD<cr> TO ADD A NEW ENTRY
MOD<cr> TO CHANGE AN ENTRY
ADD HELP<cr> FOR HELP WITH AN ADD
MOD HELP<cr> FOR HELP WITH A CHANGE
<cr> TO PROCESS THE MODIFICATIONS AND EXIT
ADD/MOD enter option *mod help
MOD HELP:
THE MODIFY FUNCTION WILL ALLOW YOU TO CHANGE
ANY OR ALL OF THE LINES OF THE ADDRESS FOR ANY CUSTOMER
THAT IS IN THE ADDRESS FILE (YOU CAN'T CHANGE THE USER
HASH CODE), BUT WON'T MAKE AN UPDATE TO THE FILE UNTIL
YOU HAVE APPROVED THE ENTRY COMPLETELY.
YOU WILL BE ASKED TO SUPPLY THE USER HASH WHICH IS USED
TO LOCATE THE ENTRY IN THE FILE, IF THE PROGRAM CAANNOT
LOCATE THE ENTRY YOU WILL BE TOLD TO REINITIATE THE MOD
AND TRY AGAIN IF YOU MISTYPED, OTHERWISE ENTER THE INDIVIDUAL
AS AN ADD. ONCE THE ENTRY TO BE CHANGED HAS BEEN FOUND IT
WILL BE DISPLAYED WITH LINE NUMBS. YOU WILL THEN BE
ASKED TO ENTER THE NUMBs of the lines YOU WISH TO CHANGE
THERE ARE THREE RESPONCES TO THIS:
NNNNNN<cr> THE LINE NUMBS OF THE ENTRIES
THAT YOU WISH TO MODIFY
UPdate<cr> GRANTS PERMISSION TO UPDATE
ABort<cr> ABORT THE ATTEMPT AND RESTART
WHEN APPROVED THE ACTUAL CHANGE WILL BE DONE BY ETv UNDER
PROGRAM CONTROL.
ADD/MOD enter option *mod
HASH CODE OR <cr> TO EXIT *idmfe
THE ENTRY YOU WISH TO CHANGE IS:
LINE# 0 *FIDMAI|NNNNNNNNNNNN#IDMFE$000.00
LINE# 1 PROF. D. KNUTH
LINE# 2 POLYA
LINE# 3
LINE# 4
LINE# 5
UPdate,ABort,OR LINE NUMBERS TO CHANGE *2
CHANGES* POLYA HALL
APPENDIX A PAGE 47
- - - THE FOLLWOING IS A RUN EXAMPLE FOR LISTUP - - -
THE ENTRY YOU WISH TO CHANGE IS:
LINE# 0 *FIDMAI|NNNNNNNNNNNN#IDMFE$000.00
LINE# 1 PROF. D. KNUTH
LINE# 2 POLYA HALL
LINE# 3
LINE# 4
LINE# 5
UPdate,ABort,OR LINE NUMBERS TO CHANGE *up
HASH CODE OR <cr> TO EXIT *
ADD/MOD enter option *
The changes will be made.
The file update has been made
LISTUP - Function or <cr> to exit *del help
DELETE HELP:
THE DELETE FUNCTION IS VERY SIMPLE. IT MERELY ASKS
FOR THE USER HASH, AND WHEN IT FINDS THE ENTRY IT WILL
PRINT OUT THE NAME AND ASK FOR PERMISSION TO DELETE.
IF PERMISSION IS GRANTED THE ENTRY WILL BE DELETED.
LISTUP - Function or <cr> to exit *del
HASH CODE TO DELETE, OR <cr> TO EXIT *940lo
CAN I DELETE:CAPT WILLIAM T. COLEMA III
(Yes OR No) *y
HASH CODE TO DELETE, OR <cr> TO EXIT *
The file update has been made
LISTUP - Function or <cr> to exit *
APPENDIX A PAGE 48
- - - THE FOLLWOING IS A RUN EXAMPLE FOR MAKEML - - -
CSREPT - What can I do for you? *?
LEGAL RESPONSES ARE:
LISTup<cr>- to change to mailing list
MAKEml<cr>- send the abstract listing
CSORD<cr>- process incoming orders
CSMAIL<cr>- send out the reports and bills (invoice)
CSRECD<cr>- process payments received
DATA<cr> - update data items
SEARCH<cr>- searches for adressee
HELP<cr> - for a little help from a friend
<cr> - to exit (<cr> will usually exit one level
CSREPT - What can I do for you? *make
MAKEML - The AUG list is open and will be used. Enter option *help
HELP FOR THE MAKEML FUNCTION
THIS PROGRAM WILL: 1. Produce the mailing labels on a
temporary file so you can list
them on the printer.
2. Produce master copies of the mailing
list order form.
3. Build or update the files for the
report information, and the orders received.
4. Provide summaries of the people
sent lists, and accounts responsible.
FOR EACH MAILING OF AN ABSTRACT A NEW FILE WILL BE OPENED,
THESE ARE REFERRED TO AS MONTHLY FILES, BUT CAN BE SENT
AT ANY INTERVAL. ONCE A FILE IS OPENED YOU CAN CONTINUE
TO ADD REPORTS TO IT UNTIL THE MAILING LIST AND ABSTRACT
ARE SENT AT WHICH TIME THE FILE WILL BE MARKED AS SENT AND YOU
WILL BE ASKED -MONTH- THE NEXT TIME YOU ENTER.
WHEN YOU ENTER THE PROGRAM A CHECK IS MADE TO DETERMINE IF
A FILE IS ALREADY OPEN, IF NOT YOU WILL BE ASKED THE MONTH, AND
A FILE WILL BE OPENED, IF ONE IS ALREADY OPEN YOU WILL BE ASKED
IF YOU WISH TO ADD MORE REPORTS OR MAKE THE LABELS,LIST,ETC.
ENTRIES ARE ADDED TO THE FILE THROUGH INTERACTION, IF AT
ANY TIME YOU ARE NOT SURE OF THE PROPER RESPONSE SIMPLY TYPE ?.
WHEN YOU HAVE FINISHED ADDING ENTRIES, YOU WILL BE ASKED
IF YOU WISH TO MAIL THE LISTING, IF SO THE REPORTS WILL BE GENERATED
AND OUTPUT, AND THE FILE MARKED AS CLOSED FOR THAT MONTH.
APPENDIX A PAGE 49
- - - THE FOLLWOING IS A RUN EXAMPLE FOR MAKEML - - -
MAKEML - The AUG list is open and will be used. Enter option *?
THE LEGAL RESPONSES ARE:
<cr> - to exit makeml
HELP<cr> - for a brief tutorial
BUILD<cr> - to add to the report list
MAIL<cr> - to send the mail/order list
MAKEML - The AUG list is open and will be used. Enter option *build
REPORT NUMBER *stan-76-cs-578
NUMBER OF HARDCOPIES AVAILABLE *435
PRICE(NN.NN ie 19.76) $comp
NUMBER OF PAGES *123
THE COMPUTED PRICE IS $4.70
NUMBER OF MICROFICHE AVAILABLE *no
ACCOUNT *arpa
PERCENT *55
55% ALLOCATED, THE TOTAL MUST EQUAL 100
ACCOUNT *onr
PERCENT *45
ONR REPORT (Y OR N)? *y
ARPA REPORT (Y OR N)? *y
THIS IS THE CODED ENTRY:
*STAN-76-CS-578|D,0435,0000,04.70|E,NONO,0000|ARPA.54,ONR.44|3
IS IT OK (Y,N,?)?
THE LEGAL RESPONSES ARE:
Y<cr> approval, the entry will be included
N<cr> disapproval, the entry will be discarded
(default) anything else will give you this, and
then give you another chance to approve.
*CSXXX-AIXX|H,NNNN,0000,PP.PP|M,NNNN,0000|AAAA.%%|Y
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ |Y=1 ONR REPORT
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ |Y=2 ARPA REPORT
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ |Y=3 BOTH ARPA&ONA
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ACCOUNT # AND PERCENT-1
↓ ↓ ↓ ↓ ↓ ↓ ↓ NUMBER FICHE ORDERED (ACCOUNTING)
↓ ↓ ↓ ↓ ↓ ↓ NUMBER OF MICROFICHE
↓ ↓ ↓ ↓ ↓ ↓ NONO NOT AVAILABLE OR UNLIMITED
↓ ↓ ↓ ↓ ↓ COMPUTED ORDER NUMBER FOR MICROFICHE
↓ ↓ ↓ ↓ PRICE PER HARDCOPY
↓ ↓ ↓ NUMBER OF HARDCOPIES ORDERED
↓ ↓ NUMBER HARD COPIES AVAILABLE
↓ COMPUTED HARDCOPY ORDER NUMBER
CS REPORT NUMBER WITH OPTIONAL EXTENSION
THIS IS THE CODED ENTRY:
*STAN-76-CS-578|D,0435,0000,04.69|E,NONO,0000|ARPA.54,ONR.44|3
IS IT OK (Y,N,?)n
THE ENTRY WILL BE DISCARDED, AND YOU CAN RESTART
APPENDIX A PAGE 50
- - - THE FOLLWOING IS A RUN EXAMPLE FOR MAKEML - - -
REPORT NUMBER *
WOULD YOU LIKE TO MAIL THE LISTING NOW? (Y OR N)*?
THE LEGAL RESPONSES ARE:
<cr> to exit
N<cr> to exit
Y<cr> to make the mailing list,labels
and summaries
IF YOU DO NOT MAIL THE LIST NOW, IT WILL REMAIN OPEN
FOR ADDITIONAL REPORT ENTRIES, UNTIL MAILING TIME.
WOULD YOU LIKE TO MAIL THE LISTING NOW? (Y OR N)*y
Are Cheshire labels to be printed? (Y or N)*?
THE LEGAL RESPONSES ARE:
Yes<cr> Will cause labels to be printed in the format
necessary for automatic processing.
No<cr> Will cause labels to be printed in the format
for AVERY labels.
Are Cheshire labels to be printed? (Y or N)*y
The mailing labels have been written into the
file: AUGLAB which can be listed when the labels are available.
ENTER THE CUTOFF DATE FOR ORDERS *1 september 1976
Order forms and summaries are in the file: INFORM.
APPENDIX A PAGE 51
- - - THE FOLLWOING IS A RUN EXAMPLE FOR CSORD - - -
CSREPT - What can I do for you? *csord
ORDER - MONTH *?
THE LEGAL RESPONSES ARE:
INPUT WAS NOT A MONTH IN THE FILE
<cr> TO END THE PROCESSING
HELP<cr> FOR A TUTORIAL
LLLLL<cr> MONTH OF THE ORDERS TO PROCESS
ORDER - MONTH *help
This procedure will process incoming orders. It will iteratively:
1. Check the hash code and provide a search if
the hash is not available.
2. Process the orders as they are received.
3. Optionally process any money sent with the order.
Once all of the orders are received for the session the procedure
will update ORDER.DSK, and inform the operator if any of the
reports have been depleted during this session.
ORDER - MONTH *aug
HASH CODE *770ea
IS PROF THOMAS ANDREWS THE CORRECT CUSTOMER? (Y or N)*y
REPORT NUMBERS #1357a
WAS ANY MONEY SENT WITH THE ORDER? (Y OR N)*n
HASH CODE *engaa
IS ROBERT C. SMITH THE CORRECT CUSTOMER? (Y or N)*y
REPORT NUMBERS #146c
WAS ANY MONEY SENT WITH THE ORDER? (Y OR N)*n
HASH CODE *277sf
IS BARBRA GARRETT THE CORRECT CUSTOMER? (Y or N)*y
REPORT NUMBERS #1468ac
WAS ANY MONEY SENT WITH THE ORDER? (Y OR N)*n
HASH CODE *123rd
SORRY 123RD is not in the file.
SEARCH: DO YOU KNOW THE ZIP CODE? (Y,N OR EXIT)*y
ZIPCODE? *12345
APPENDIX A PAGE 52
- - - THE FOLLWOING IS A RUN EXAMPLE FOR CSORD - - -
HASH=123NH PAGE= 51 NAME= DR. EARNEST G. HOLTZMANN
ENTER HASH IF HE IS SHOWN, ELSE <cr> TO CONTINUE. *123nh
THE ENTRY FOR THE HASH YOU GAVE IS:
* 12345|NNNNNNNNNNNN#123NH$000.00
DR. EARNEST G. HOLTZMANN
GENERAL ELECTRIC
RESEARCH & DEVELOPMENT CTR.
SCHENECTADY, NEW YORK
IS DR. ERNEST G. HOLTZMAN THE CORRECT CUSTOMER? (Y or N)*y
REPORT NUMBERS #2469b
WAS ANY MONEY SENT WITH THE ORDER? (Y OR N)*n
HASH CODE *378ec
IS DR. WILLIAM A. HOLLIMAN THE CORRECT CUSTOMER? (Y or N)*y
REPORT NUMBERS #15
WAS ANY MONEY SENT WITH THE ORDER? (Y OR N)*y
AMOUNT RECEIVED $10.45
IS $ 10.45 THE CORRECT AMOUNT? (Y OR N)*y
HASH CODE *201om
IS RPOF. DAVID S. MINTON THE CORRECT CUSTOMER? (Y or N)*n
HASH CODE *itanm
IS PROF. ERNEST ANDRESON THE CORRECT CUSTOMER? (Y or N)*n
REPORT NUMBERS #147ad
ERROR - REPORT 00013 WAS NOT OFFERED THIS MONTH THE ORDER WILL BE FLUSHED, TRY AGAIN.
REPORT NUMBERS #itanm
ERROR - REPORT 00018 WAS NOT OFFERED THIS MONTH THE ORDER WILL BE FLUSHED, TRY AGAIN.
REPORT NUMBERS #1246
WAS ANY MONEY SENT WITH THE ORDER? (Y OR N)*n
HASH CODE *?
THE LEGAL RESPONSES ARE:
?<cr> WILL PRINT YOUR OPTIONS
HELP<cr> WILL PROVIDE SOME HELP
<cr> WILL PROCESS THE INPUTS (IF ANY) AND RETURN TO CSREPT
HHHHH<cr> THE FIVE DIGIT HASH CODE.
HASH CODE *
APPENDIX A PAGE 53
- - - THE FOLLWOING IS A RUN EXAMPLE FOR CSMAIL - - -
CSREPT - What can I do for you? *csmail
The AUG order file will be used - OK (Y OR N) *help
HELP FOR THE CSMAIL PROGRAM:
This program will produce the invoices and mailing labels
for the monthly orders of CS REPORTS. It uses the open order file
and current inventory (which you will have the opportunity to
update) to fill the orders on a first come first serve basis.
The labels and invoices are output in the same order, and
in zip code order. They will be written into files called LABELS
and INVOIC and can be listed at your convenience, be sure to
delete the files after they have been listed.
Finally a summary of the processing, billing and charges
will be output.
The legal responses are:
?<cr> WILL PRINT YOUR OPTIONS
HELP<cr> WILL PROVIDE SOME HELP
<cr> WILL EXIT THE PROGRAM
Y<cr> WILL CAUSE THE DISPLAYED MONTH TO BE USED
N<cr> WILL ASK WHAT MONTH TO USE
The AUG order file will be used - OK (Y OR N) *y
The current stock is:
1. *STAN-CS-76-555 NO LIMIT COPIES
2. *STAN-CS-76-555 NO LIMIT COPIES MICROFICHE
3. *STAN-CS-76-556 NO LIMIT COPIES
4. *STAN-CS-76-556 NO LIMIT COPIES MICROFICHE
5. *STAN-CS-76-557 NO LIMIT COPIES
6. *STAN-CS-76-557 NO LIMIT COPIES MICROFICHE
7. *STAN-CS-76-558 NO LIMIT COPIES
8. *STAN-CS-76-558 NO LIMIT COPIES MICROFICHE
9. *STAN-CS-76-560 NO LIMIT COPIES
10. *STAN-CS-76-560 NO LIMIT COPIES MICROFICHE
11. *STAN-CS-76-561 NO LIMIT COPIES
12. *STAN-CS-76-561 NO LIMIT COPIES MICROFICHE
Are there any changes? (Y,N,STOCK)*y
Report display number *1
Number available *4
Are there any changes? (Y,N,STOCK)*y
Report display number *3
Number available *5
APPENDIX A PAGE 54
- - - THE FOLLWOING IS A RUN EXAMPLE FOR CSMAIL - - -
Are there any changes? (Y,N,STOCK)*y
Report display number *10
Number available *100
Are there any changes? (Y,N,STOCK)*y
Report display number *11
Number available *3
Are there any changes? (Y,N,STOCK)*stock
The current stock is:
1. *STAN-CS-76-555 4 COPIES
2. *STAN-CS-76-555 NO LIMIT COPIES MICROFICHE
3. *STAN-CS-76-556 5 COPIES
4. *STAN-CS-76-556 NO LIMIT COPIES MICROFICHE
5. *STAN-CS-76-557 NO LIMIT COPIES
6. *STAN-CS-76-557 NO LIMIT COPIES MICROFICHE
7. *STAN-CS-76-558 NO LIMIT COPIES
8. *STAN-CS-76-558 NO LIMIT COPIES MICROFICHE
9. *STAN-CS-76-560 NO LIMIT COPIES
10. *STAN-CS-76-560 100 COPIES MICROFICHE
11. *STAN-CS-76-561 3 COPIES
12. *STAN-CS-76-561 NO LIMIT COPIES MICROFICHE
Are there any changes? (Y,N,STOCK)*n
The mailing labels have been printed into a file called LABELS.
Labels for customers who placed orders this month are first, and
those for customers who have not ordered for a year are last.
The file can be listed at any time, don't forget to delete it.
The invoices have been written into a file called: INVOICES.
APPENDIX A PAGE 55
- - - THE FOLLWOING IS A RUN EXAMPLE FOR CSRECD - - -
CSREPT - What can I do for you? *csrecd
HASH CODE *
ERROR - The hash code should be 5 characters.
HASH CODE *help
This procedure will process payment for reports that have been
sent out. It first checks the HASH CODE, if no match is found
a search will be performed. Next it asks the amount received,
and updates the charge balance for the customer. You will be
informed of the balance.
THE LEGAL RESPONSES ARE:
?<cr> WILL PRINT YOUR OPTIONS
HELP<cr> WILL PROVIDE SOME HELP
<cr> WILL PROCESS THE INPUTS (IF ANY) AND RETURN TO CSREPT
HHHHH<cr> THE FIVE DIGIT HASH CODE.
HASH CODE *konee
IS PROF. ALLEN T. SAMUEL THE CORRECT CUSTOMER? (Y or N)*n
AMOUNT RECEIVED $23.45
IS $ 23.45 THE CORRECT AMOUNT? (Y OR N)*y
HASH CODE *
CSREPT - What can I do for you? *
End of SAIL execution
APPENDIX B PAGE 56
- - - THIS IS AN EXAMPLE OF THE ORDER FORM PRODUCED BY MAKEML - - -
STANFORD COMPUTER SCIENCE REPORT ORDER FORM
To order reports, or change your mailing address,return this sheet by
31 AUGUST 1976 checking the reports you wish to receive.
HARDCOPY MICROFICHE
1. ___ *AIM-280 $02.40 2. ___ *AIM-280 FREE
3. ___ *STAN-CS-76-556 $05.55 4. ___ *STAN-CS-76-556 FREE
5. ___ *STAN-CS-76-557 $02.25 6. ___ *STAN-CS-76-557 FREE
7. ___ *AIM-281 $02.90 8. ___ *AIM-281 FREE
9. ___ *STAN-CS-76-559 $02.75 A. ___ *STAN-CS-76-559 FREE
B. NOT AVAILABLE C. ___ *AIM-282 FREE
D. ___ *STAN-CS-76-561 $05.60 E. ___ *STAN-CS-76-561 FREE
F. ___ *STAN-CS-76-562 $03.50 G. ___ *STAN-CS-76-562 FREE
H. ___ *AIM-283 $00.00 I. ___ *AIM-283 FREE
Please do not send money with your order, microfiche are free of charge.
Check here __ to change your address, print changes on the back of this form.
__________________________________________________________________________________
__________________________________________________________________________________
COMPUTER SCIENCE DEPARTMENT AFFIX
STANFORD,CAL 94305 POSTAGE
VICKI L FAHRENHOLZ
LIBRARY AND PUBLICATIONS COMMITTEE
COMPUTER SCIENCE DEPARTMENT
STANFORD UNIVERSTY
STANFORD, CALIFORNIA 94305
APPENDIX B PAGE 57
- - - THIS IS AN EXAMPLE OF THE MAKEML RUN SUMMARY - - -
TO: LIBRARY AND PUBLICATIONS COMMITTEE
SUBJECT: AUG ABSTRACT AND MAILING SUMMARY
FROM: VICKI L FAHRENHOLZ
There are a total of 9 reports to be offered this month.
The order cutoff date is 31 AUGUST 1976. The following reports were offered:
*AIM-280|1,NONO,0000,02.40|2,NONO,0000|ARPA.99|2
*STAN-CS-76-556|3,NONO,0000,05.55|4,NONO,0000|NSF.49,ONR.49|1
*STAN-CS-76-557|5,NONO,0000,02.25|6,NONO,0000|ONR.39,NSF.39,IBM.19|1
*AIM-281|7,NONO,0000,02.90|8,NONO,0000|ARPA.99|2
*STAN-CS-76-559|9,NONO,0000,02.75|A,NONO,0000|NSF.49,ARO.49|0
*AIM-282|B,0000,0000,00.00|C,NONO,0000|ARPA.99|2
*STAN-CS-76-561|D,NONO,0000,05.60|E,NONO,0000|NSF.99|0
*STAN-CS-76-562|F,NONO,0000,03.50|G,NONO,0000|NSF.32,ONR.33,IBM.32|1
*AIM-283|H,NONO,0000,00.00|I,NONO,0000|ARPA.99|2
SUMMARY OF ABSTRACTS MAILED:
TOTAL 1394
US 787 ONR 26
FOREIGN 524 ARPA 12
USSR 19 AUTOMATIC 31
IDMAI 64 FREE 179
ACCOUNTING DATA
ACCOUNT REPORT PERCENT TOTAL PCT
ARPA AIM-280 100% 44
AIM-283 100%
AIM-282 100%
AIM-281 100%
NSF STAN-CS-76-556 50% 28
STAN-CS-76-562 33%
STAN-CS-76-561 100%
STAN-CS-76-559 50%
STAN-CS-76-557 40%
ONR STAN-CS-76-556 50% 12
STAN-CS-76-562 34%
STAN-CS-76-557 40%
IBM STAN-CS-76-557 20% 5
STAN-CS-76-562 33%
ARO STAN-CS-76-559 50% 5
The labels are in file AUGLAB, and can be listed whenever the
avery labels have been mounted on the printer by the monitor command
SP AUGLAB<cr>. Don't forget to delete the file after listing it.
The price was determined by operator input or at a rate of $ .03
per page. There will be 4 masters of the order form printed.
APPEXDIX B PAGE 58
- - - THIS IS AN EXAMPLE OF THE LABELS PRINTED BY MAKEML - - -
COMPUTER SCIENCE DEPATMENT
LIBRARY AND PUBLICATIONS COMMITTEE
AUG ABSTRACT MAILING LIST
DR. S. H. KAMNITZER #AFRSA
SPERRY UNIVAC
1402 BP CENTRE
THIBAULT SQUARE
CAPE TOWN, SOUTH AFRICA
K. J. MACGREGOR #AFRJG
UNIV. OF CAPE TOWN
DEPT. OF COMP. SCI.
RODEBOSCH, C.P.
SOUTH AFRICA
STEF W. POSTMA #AFRFW
DEPT. OF STAT. & COMP. SCI.
UNIVERSITY OF PRETORIA
PRETORIA 0002, SOUTH AFRICA
DR. R. BECKER #AFRRB
DEPT. OF MATHEMATICS
UNIVERSITY OF CAPETOWN
RONDEBOSCH 7800
CAPE, SOUTH AFRICA
D. BROWN #AFRDB
UNIVERSITY OF WITWATERSRAND
1 JAN SMUTS AVENUE
JOHANNESBURG 2001
SOUTH AFRICA
PROF. G.L. MURRAY #AFRFL
DEPT. OF COMPUTER SCIENCE
UNIVERSITY OF STELLENBOSCH
STELLENBOSCH, SOUTH AFRICA
INSTITUTO DE MATEMATICA, #ARGTT
ASTRONOMIA Y FISICA
UNIVERSIDAD NACIONAL DE CORDOBA
CIUDAD UNIVERSITARIA
CORDOBA, ARGENTINA
PROF. JUAN M. ALE #ARGFN
BME MITRE 2689-P5
BUENOS AIRES, ARGENTINA
APPEXDIX B PAGE 59
- - - THIS IS AN EXAMPLE OF THE CHESHIRE LABELS PRINTED BY MAKEML - - -
DR. RICHARD BRENT #AUSRR C.S.I.R.O. #AUSSI FLINDERS UNIVERSITY OF #AUS1E
COMPUTER CENTRE, ANU CENTRAL LIBRARY (FREE) SOUTH AUSTRALIA - LIBRARY (FREE)
BOX 4, CANBERRA, ACT 2600 314 ALBERT ST. BEDFORD PARK, SOUTH AUSTRALIA 5042
AUSTRALIA P.O. BOX 89, EAST MELBOURNE
AUSTRALIA
DR. G.W. HILL #AUSRW PROF. F. HIRST #AUS1F IIASA - LIBRARY #AUSAI
DIV. OF MATH STATISTICS DEPT. OF COMPUTING SCIENCE 2361 LAXENBURG
CSIRO, PRIVATE BAG 1 UNIVERSITY OF ADELAIDE AUSTRIA
GLEN OSMOND, S. AUSTRALIA ADELAIDE, SOUTH AUSTRALIA 5001
MR. CLIFF B. JONES #AUSLB DR. DAVID JUPP #AUSRI CANBERRA A.C.T. 2600 AUSTRA #AUSAT
IBM LABORATORY VIENNA CSIRO DIV OF LAND USE RESEARCH
PARKRING 10, 1010 VIENNA 1 P.O. BOX 1666
AUSTRIA CANBERRA CITY 2601
A.C.T.,AUSTRALIA
NICK KOMAROFF #AUSKM DR. J. O'CALLAGHAN #AUSJL DR. M. R. OSBORNE #AUSMR
PROFESSIONAL ENGINEER DIV. OF COMPUTING RESEARCH COMPUTER CENTER
29 KENSAL ST. CSIRO, BOX 1800 P. O. AUSTRALIAN NATIONAL UNIV.
MOOROOKA, QUEENSLAND 4105 CANBERRA CITY, A.C.T., AUSTRALIA BOX 4, G.P.O.
AUSTRALIA CANBERRA, AUSTRALIA
DR. JOHN SELF #AUS20 PETER SUTTER #AUSEU SYDNEY UNIVERSITY LIBRARY #AUSUT
DEPT. OF INFORMATION SCIENCE LEHRKANZEL MATHEMATIK III (FREE) GIFT & EXCHANGE SECTION
UNIVERSITY OF MELBOURNE UNIVERSITY LINZ UNIVERSITY OF SYDNEY
PARKVILLE, AUSTRALIA 3052 A-4045, LINZ-AUHOF NSW, 2006, AUSTRALIA
AUSTRIA
MR. A. THOMPSON #AUSAO DR. RODNEY TOPOR #AUS25 THE UNIV. OF WESTERN AUSTRA #AUS35
COMPUTING SERVICES UNIT MONASH UNIVERSITY LIBRARY - EXCHANGES DEPT. (FREE)
UNIV. OF NEW SOUTH WALES CLAYTON VICTORIA, AUSTRALIA 3168 NEDLANDS
P.O. BOX 1 WESTERN AUSTRALIA... 6009
KENSINGTON, N.S.W. AUSTRALIA
H. WACKER #AUSHC GARTH WOLFENDALE #AUSHF LIBRARY #AUT25
A 4045 LINZ COMPUTER CENTRE COMPUTER SCIENCES DEPT. (FREE)
HOCHSCHULE LINZ AUSTRALIAN NATIONAL UNIVERSITY UNIV. OF WISCONSIN
LEHRKAUZEL NUMERIK BOX 4, CANBERRA, ACT 2600 1210 WEST DAYTON STREET
AUSTRIA AUSTRALIA MADISON, WISC. 53706
COMPUTER SCIENCE DEPT., LIB #AUT01 PROF.W.KAHAN, DEPT. OF #AUT05 DOCUMENT ROOM PROJ. MAC. RM #AUT09
CARNEGIE-MELLON UNIVERSITY (FREE) ELECTRICAL ENG. & COMPUTER (FREE) ATTN. MISS BARBARA KOHL (FREE)
PITTSBURGH, PENNSYLVANIA 15213 COMPUTER SCIENCE LIBRARY, C.S.DIV. MASS. INSTITUTE OF TECH.
567 EVANS HALL, UNIV. OF CALIF. 545 TECHNOLOGY SQUARE
BERKELEY, CALIFORNIA 94720 CAMBRIDGE, MASSACHUSETTS 02139
IBM SDD-LIBRARY #AUT04 NATIONAL SCIENCE LIBRARY #AUT13 UNIVERSITY OF TEXAS AT AUST #AUT21
ATTN. K. TACKLE QUINN (FREE) NATIONAL RESEARCH COUNCIL (FREE) COMPUTER SCIENCE DEPT. (FREE)
DEPT. M-11036 OTTAWA, ONTARIO, CANADA,K1A 0S2 TECHNICAL LITERATURE CENTER
1501 CALIFORNIA AVE. AUSTIN, TEXAS 78712
PALO ALTO, CALIFORNIA 94304
COMPUTER SCIENCE LIBRARY (2 #AUT29 LIBRARY #AUT17 RESEARCH REPORTS COLLECTION #AUT30
(FREE) COMPUTER SCIENCE DEPT. (FREE) ENGINEERING LIBRARY (2 COPI (FREE)
UNIVERSITY OF ILLINOIS MAIN LIBRARY 102
URBANA, ILLINOIS 61801
APPENDIX B PAGE 60
- - - EXAMPLE OF AN INVOICE PRODUCED BY CSMAIL - - -
SUBJECT: REPORT ORDER
TO: DR. EARNEST G. HOLTZMANN
FROM: LIBRARY AND PUBLICATIONS COMMITTEE
COMPUTER SCIENCE DEPARTMENT
STANFORD UNIVERSITY
STANFORD,CALIFORNIA 94305
The following reports that you ordered from our AUG mailing list are
enclosed with this invoice.
*STAN-CS-76-555
*STAN-CS-76-556
*STAN-CS-76-557
*STAN-CS-76-560 $ 8.20
*STAN-CS-76-561 $ 5.17
You currently owe $ 13.37 for this and previous months' orders. Please make your
check payable to `CSD Stanford University', and return it with the
invoice at the bottom of this letter.
___________________________________________________________________________________
AUG INVOICE AMOUNT DUE $ 13.37
PAYMENT ENCLOSED $__________
PAYMENT FOR ACCOUNT OF: 123NH
DR. EARNEST G. HOLTZMANN
GENERAL ELECTRIC
RESEARCH & DEVELOPMENT CTR.
SCHENECTADY, NEW YORK
MAKE YOUR CHECK PAYABLE TO STANFORD UNIVERSITY.
FORWARD PAYMENT AND INVOICE TO: VICKI L FAHRENHOLZ
COMPUTER SCIENCE DEPARTMENT
STANFORD UNIVERSITY
STANFORD, CALIFORNIA 94305
- IT IS IMPORTANT THAT THIS PORTION OF THE INVOICE BE RETURNED WITH YOUR PAYMENT -
APPENDIX B PAGE 61
- - - EXAMPLE OF AN INVOICE PRODUCED BY CSMAIL - - -
SUBJECT: REPORT ORDER
TO: ROBERT C. WARD
FROM: LIBRARY AND PUBLICATIONS COMMITTEE
COMPUTER SCIENCE DEPARTMENT
STANFORD UNIVERSITY
STANFORD,CALIFORNIA 94305
The following reports that you ordered from our AUG mailing list are
enclosed with this invoice.
*STAN-CS-76-557 $ .05
You currently owe $ 10.50 for this and previous months' orders. Please make your
check payable to `CSD Stanford University', and return it with the
invoice at the bottom of this letter.
We are sorry, but the following reports that you ordered from our
AUG mailing list are out of stock:
*STAN-CS-76-555
These may be obtained in a few months' time from NTIS or, in some
cases from University Microfilms, or the IEEE Computer Repository.
___________________________________________________________________________________
AUG INVOICE AMOUNT DUE $ 10.50
PAYMENT ENCLOSED $__________
PAYMENT FOR ACCOUNT OF: 378EC
ROBERT C. WARD
MATHEMATICS & STATISTICS RES.
DEPT. - BLDG. 9704-1
UNION CARBIDE CORP. P.O. BOX Y
OAK RIDGE, TENNESSEE
FORWARD PAYMENT AND INVOICE TO: VICKI L FAHRENHOLZ
COMPUTER SCIENCE DEPARTMENT
STANFORD UNIVERSITY
STANFORD, CALIFORNIA 94305
- IT IS IMPORTANT THAT THIS PORTION OF THE INVOICE BE RETURNED WITH YOUR PAYMENT -
APPENDIX B PAGE 62
- - - EXAMPLE OF AN THE RUN SUMMART PRODUCED BY CSMAIL - - -
SUBJECT: AUG CS REPORT MAILING
TO: LIBRARY PUBLICATIONS COMMITTEE
FROM: VICKI L FAHRENHOLZ
The following is a summary of the reports that were mailed this month
broken down by report and class:
REPORT NUMBER TOTAL ONF ARPA AUTO FREE UNFILLED CHARGE
*STAN-CS-76-555 7 0 0 0 0 3 7.00
*STAN-CS-76-555 (Fiche) 3 0 0 0 0 0 --
*STAN-CS-76-556 3 0 0 0 0 0 15.24
*STAN-CS-76-556 (Fiche) 5 0 0 0 0 0 --
*STAN-CS-76-557 4 0 0 0 0 0 .20
*STAN-CS-76-557 (Fiche) 5 0 0 0 0 0 --
*STAN-CS-76-558 3 0 0 0 0 0 9.30
*STAN-CS-76-558 (Fiche) 2 0 0 0 0 0 --
*STAN-CS-76-560 3 0 0 0 0 0 24.60
*STAN-CS-76-560 (Fiche) 3 0 0 0 0 0 --
*STAN-CS-76-561 3 0 0 0 0 0 15.51
*STAN-CS-76-561 (Fiche) 3 0 0 0 0 0 --
The following is the amount charged for each report broken down by account:
REPORT NUMBER TOTAL ACCOUNT PERCENT SUBTOTAL
*STAN-CS-76-555 7.00 ARPA 100 7.00
*STAN-CS-76-556 15.24 NSF 100 15.24
*STAN-CS-76-557 .20 ONR 34 .07
NSF 33 .07
IBM 33 .07
*STAN-CS-76-558 9.30 ARPA 100 9.30
*STAN-CS-76-560 24.60 ARPA 100 24.60
*STAN-CS-76-561 15.51 RES 100 15.51
The total California tax charged was $ .00
The following are the inactive accounts to whom mailing labels were printed:
None were printed
APPENDIX B PAGE 63
- - - EXAMPLE OF AN THE LABELS PRODUCED BY CSMAIL - - -
COMPUTER SCIENCE DEPARTMENT
LIBRARY AND PUBLICATIONS COMMITTEE
AUG REPORT MAILING LABELS
J. A. BARNDEN #ENGAA
COMPUTER SCIENCE DEPT.
READING UNIVERSITY
WHITEKNIGHTS, READING
BERKS., ENGLAND
GINI MARIA #ITANM
MILAN POLITECH. A.I. PROJECT
POLITECNICO IST. DI ELETTROTEC.
ED ELETTRON./ PIAZZA L. DE VINCI 32
20100 MILANO, ITALY
DR. EARNEST G. HOLTZMANN #123NH
GENERAL ELECTRIC
RESEARCH & DEVELOPMENT CTR.
SCHENECTADY, NEW YORK
12345
DR. J. H. S. BRADLEY #191JS
DEPT. OF PHYSICS & ATMOSPHERIC SCI.
DREXEL UNIVERSITY
PHILADELPHIA, PENNSYLVANIA
19104
MR. ROBERT MCINTIRE #201OM
BUREAU OF LABOR STATISTICS
RM. 2518 GENERAL A.O. BLDG.
441 G STREET N.W.
WASHINGTON, D.C. 201212 20121
PROF. STEVEN F. MAIER #277SF
GRAD. SCHOOL OF BUSINESS ADM.
DUKE UNIVERSITY
DURHAM, N. C.
27706
ROBERT C. WARD #378EC
MATHEMATICS & STATISTICS RES.
DEPT. - BLDG. 9704-1
UNION CARBIDE CORP. P.O. BOX Y
OAK RIDGE, TENNESSEE 37830
PROF. EDWARD A. FEUSTEL #770EA
LAB. FOR COMP. SCI. & ENG.
RICE UNIVERSITY
HOUSTON, TEXAS
77001
APPENDIX C PAGE 64
- - - THIS IS AN EXAMPLE OF THE ADDFIL.DSK DICECTORY - - -
COMMENT ⊗ VALID 00140 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00018 00002 *857FA,8600C,850JG,857RE,857EN,857SF,913SJ,900AP,943SG,940NA,
C00020 00003 *904BE,930AR,949RT,902RT,940IJ,939BA,947FY,946FO,943DB,902HE,
C00023 00004 *900RD,931RP,900DM,902DB,939FE,943AG,945KO,950RB,943JB,947AB,
C00026 00005 *902CU,920FR,920AA,951JM,911AT,920DA,940CH,951CL,917CY,947PC,
C00029 00006 *940LR,950JD,945KL,921FR,943GE,947LN,950CA,914RN,947RE,950RD,
C00032 00007 *931ED,934HO,943HR,947SA,941TE,900RR,947RS,945IF,940SI,943SA,
C00035 00008 *911FN,920ML,927PR,943OR,945DR,920FN,947SN,946UG,900RE,904TL,
C00038 00009 *900FA,902FG,947UL,949HT,943ID,9430A,940EN,943DA,947ML,947FJ,
C00041 00010 *943NN,950EA,900EE,941RN,900FS,920FI,9400T,951EH,940NS,921IN,
C00044 00011 *904HJ,940CN,904MJ,940RK,947RD,941KR,900SN,900ML,911BE,900AE,
C00047 00012 *926FB,900IM,950SI,947NS,940NB,947EE,947IR,945IR,945ME,926EL,
C00050 00013 *940GR,902FH,954RL,943PL,927GS,921AM,943DM,902CA,950EW,949AR,
C00052 00014 *903BA,945IL,941EF,943AI,900RF,920DD,920KE,940ND,916RH,943KA,
C00054 00015 *940RP,950FR,931FP,930HC,945GD,945NO,900IU,943AE,920FS,950FN,
C00057 00016 *905LN,926FS,931JM,947RN,943OE,947PP,947AY,940NT,927ST,940MT,
C00059 00017 *904VT,943NO,945SR,904EH,911FO,940HO,943MR,950SE,945CL,956FR,
C00062 00018 *920UC,926ML,920IS,950AE,902OC,900EU,9400V,940WN,941FW,904NE,
C00065 00019 *902MJ,943LE,911EI,950UW,940GW,900HJ,911ES,943RS,947FI,941RR,
C00067 00020 *803VD,805HI,803NR,803RL,802IM,803DK,803RM,803TD,805ER,803FB,
C00069 00021 *803DA,805EO,803ME,805RR,803RS,803UZ,803RD,805FD,065FD,065EE,
C00072 00022 *066AC,062EB,065GL,065FJ,065FC,065RH,068AA,198NO,197MK,331AO,
C00075 00023 *323RP,303RN,303DR,303WM,303IL,303IE,968RM,968FR,968FI,968DT,
C00078 00024 *602EH,602IN,604EM,618WF,618FT,119OK,606OC,618NN,606JG,620AA,
C00081 00025 *618FW,602FC,618WD,627EJ,119LC,602HD,627AK,600NA,618IR,608FM,
C00084 00026 *618RI,604RG,604JA,618DP,600NM,618WP,618EI,618AR,618FH,606RR,
C00087 00027 *618SF,602CT,606TM,479KS,479WG,474NV,468NL,465TM,479AW,479DY,
C00090 00028 *522DA,522FT,522VP,524UC,500LG,522NM,500CE,660FI,660EN,660LX,
C00093 00029 *660FR,660FJ,665FA,665FB,660RO,421RA,405AI,421DT,405FG,405AN,
C00096 00030 *705FN,701MA,207FO,212FB,200CL,207FH,209MN,200IH,207RO,208OW,
C00099 00031 *207RA,207TW,207FI,209SW,207UK,212FG,207CE,214AM,200LE,209UE,
C00102 00032 *200IA,200MO,207FE,208EF,207HS,200NS,212FD,207SF,207RV,017YC,
C00104 00033 *010FM,021SO,017JS,021GT,021FT,021RE,021TM,021TA,021FE,021AG,
C00107 00034 *017MP,017LG,021HG,021FI,021JS,017IR,021IG,010FT,021OE,021FF,
C00110 00035 *010FN,021RV,021FK,021AE,018LT,021BD,018ME,021RT,021VI,021UE,
C00113 00036 *021FG,014JV,016LD,018DD,021MD,021FS,018ET,010TM,021AS,017MG,
C00116 00037 *017TP,021LN,010UN,021SG,021JT,0211U,021HA,021GO,021FA,010FD,
C00118 00038 *021FD,021FH,021NE,021LH,021HC,010EL,019SE,010FE,010FU,021WP,
C00121 00039 *010TS,021YW,481LW,481OF,481RD,481TW,488JL,491RA,488FY,488FS,
C00124 00040 *499FL,488NU,481BL,481NN,481NO,4810R,481FM,481II,481BT,481SD,
C00127 00041 *481CR,481RN,488CS,481FE,554KH,551LE,551GF,554IE,554RI,554PE,
C00130 00042 *563RE,554FB,554FD,554FJ,554WT,386FD,654WN,652AA,752FS,654AK,
C00133 00043 *681KA,685FO,685GE,037YH,088RL,089FL,085HS,085AT,079LL,089IR,
C00136 00044 *079DA,089TR,079ME,079CO,079RD,0854S,070DJ,079DN,079GK,089FA,
C00139 00045 *079HI,089FM,085II,085OP,085TV,085AR,088SR,079OS,089NR,089CR,
C00142 00046 *085TZ,085NA,070IA,089AR,085FW,085FF,079IW,085FX,875HJ,871OL,
C00145 00047 *875BC,875FD,875SG,875JN,878FA,875FK,871AA,875MO,871CE,878TN,
C00148 00048 *871MN,871SJ,871FE,121FK,118MD,148FD,105OH,100FE,100DD,100OT,
C00151 00049 *148SP,143IR,105AK,142FE,146JA,100NF,142SW,115HD,105DR,#####,
C00153 00050 *121HT,142FN,100LI,142FG,100DL,142DG,105SR,105RS,145NE,148JA,
C00156 00051 *100PH,136AD,123NH,148FH,126ET,100TE,100EI,105AD,100RU,117CB,
C00159 00052 *105JS,138EM,103KP,136IV,145LR,100PR,142EN,121EC,105RE,146PR,
C00162 00053 *100FT,119OS,105AE,100IN,132FD,117FP,117DH,142JN,115RV,105MW,
C00165 00054 *100OE,100RJ,100RW,105PR,105HL,142FD,105PL,145XP,117EL,275NE,
C00168 00055 *277LW,275FC,275EW,275AD,277IR,276LB,277FN,275FJ,277OD,277SF,
APPENDIX C PAGE 65
- - - EXAMPLE OF THE ADDRESS FILE FORMAT - - - -
*857FA,8600C,850JG,857RE,857EN,857SF,913SJ,900AP,943SG,#####,
* 85721|NNNNNNNNNNN0#857FA$000.00
PROF. DOUGLAS BROTZ
COMPUTER SCIENCE DEPT.
UNIV. OF ARIZONA
TUCSON, ARIZONA
* 86001|NNNNNNNNNNN0#8600C$000.00
GLENN LITCHFIELD
1080 EAST KAIBAB #5B
FLAGSTAFF, ARIZONA
* 85013|NNNNNNNNNNN0#850JG$000.00
DR. J. G. PURDY
ARIZONA HEART INSTITUTE
350 W. THOMAS ROAD
PHOENIX, ARIZONA
* 85721|NNNNNNNNNNN0#857RE$000.00
LARRY REEKER
DEPT. OF COMPUTER SCIENCE
UNIVERSITY OF ARIZONA
TUCSON, ARIZONA
* 85721|NNNNNNNNNNN0#857EN$000.00
MRS. LEEANN UNDERWOOD
DEPT. OF COMPUTER SCIENCE
UNIVERSITY OF ARIZONA
TUCSON, ARIZONA
* 85721|NNNNNNNNNNN0#857SF$000.00
UNIVERSITY OF ARIZONA
DEPT. OF COMPUTER SCIENCE
ATTN: JANET G. BROOKS
TUCSON, ARIZONA
* 91324|NNNNNNNNNNN0#913SJ$000.00
DR. RUSSELL J. ABBOTT
DEPT. OF COMPUTER SCIENCE
CALIFORNIA STATE UNIVERSITY
NORTHRIDGE, CALIFORNIA
* 90009|NNNNNNNNNNN0#900AP$000.00
AEROSPACE CORPORATION
S. B. CROWE
REPORTS ACQUISTIONS GROUP
P.O. BOX 92957
LOS ANGELES, CALIFORNIA
* 94303|NNNNNNNNNNN0#943SG$000.00
HANS R. AGGARWAL
992 MORENO AVENUE
PALO ALTO, CALIFORNIA
APPENDIX C PAGE 66
- - - EXAMPLE OF HASHES THE ADDRESS FILE CROSS-REFERENCE LIST - - -
HASH
01380
AFRSA0028300095
AFRJG0029400099
AFRFW0032100108
AFRRB0023500078
AFRDB0024100080
AFRFL0030600103
ARGTT0028000094
ARGFN0022600075
ARGHS0033300112
ARGLO0025600085
ARGRO0026300088
ARGFI0028800097
ARGOI0030900104
ARGAO0031500106
AUSJO0024100080
AUSMS0025900086
AUSRO0030900104
AUS300035700120
AUSHE0033900114
AUSRD0025600085
AUSRQ0032100108
AUSLE0028000094
AUSCM0030900104
AUSKG0034800117
AUS1A0022600075
AUSRN0022900076
AUSFB0023500078
AUSRR0024100080
AUSSI0025300084
AUS1E0026100087
AUSRW0027500092
AUS1F0027500092
AUSAI0027800093
AUSLB0028000094
AUSRI0028000094
AUSAT0028300095
AUSKM0028500096
AUSJL0031200105
AUSMR0031200105
AUS200033300112
AUSEU0034200115
AUSUT0034200115
AUSAO0034800117
AUS250034800117
AUS350035700120
AUSHC0036300122
AUSHF0036900124
AUS400039900136
AUSFZ0040500138
BELUR0027800093
BELWT0035100118
BELVM0036000121
BELET0028300095
BELRG0026600089
BELFM0030000101
APPENDIX C PAGE 67
- - - EXAMPLE OF ORDER.DSK FILE BUILT BY CMONEY - - -
AUG ORDERS=0008 REPORTS=C
*770EA1357A
*ENGAA146C
*191JS13579B
*277SF1468AC
*123NH2469B
*378EC15
*201OM123456789ABC
*ITANM1246
APPENDIX C PAGE 68
- - - EXAMPLE OF REPT.DSK FILE BUILT BY MAKEML - - -
AUG ENTRIES=0006 REPORTS=C
*STAN-CS-76-555|1,NONO,0008,01.75|2,NONO,0003|ARPA.99|2
*STAN-CS-76-556|3,NONO,0003,05.08|4,NONO,0006|NSF.99|0
*STAN-CS-76-557|5,NONO,0004,00.05|6,NONO,0005|ONR.33,NSF.32,IBM.32|1
*STAN-CS-76-558|7,NONO,0004,03.10|8,NONO,0002|ARPA.99|2
*STAN-CS-76-560|9,NONO,0003,08.20|A,NONO,0004|ARPA.99|2
*STAN-CS-76-561|B,NONO,0003,05.17|C,NONO,0003|RES.99|0
- - - EXAMPLE OF REPTFL.DSK FILE BUILT BY CSMAIL - - -
0009
*STAN-CS-76-555|1,NONO,0008,01.75|2,NONO,0003|ARPA.99|2
*STAN-CS-76-556|3,NONO,0003,05.08|4,NONO,0006|NSF.99|0
*STAN-CS-76-557|5,NONO,0004,00.05|6,NONO,0005|ONR.33,NSF.32,IBM.32|1
*STAN-CS-76-558|7,NONO,0004,03.10|8,NONO,0002|ARPA.99|2
*STAN-CS-76-560|9,NONO,0003,08.20|A,NONO,0004|ARPA.99|2
*STAN-CS-76-561|B,NONO,0003,05.17|C,NONO,0003|RES.99|0